1.1 --- a/opener_context_resource.cc Sat Mar 20 01:40:39 2021 +0100
1.2 +++ b/opener_context_resource.cc Mon Mar 22 22:02:54 2021 +0100
1.3 @@ -54,7 +54,8 @@
1.4
1.5 FilePager *pager = _opener->open(path, flags);
1.6
1.7 - /* Complete the initialisation and start a server in a new thread. */
1.8 + /* Complete the initialisation and start a server in a new thread.
1.9 + If the thread does not start, the resource should be finalised. */
1.10
1.11 ResourceServer server(pager);
1.12 long err = server.start_thread();
1.13 @@ -67,8 +68,6 @@
1.14 *size = pager->get_data_size();
1.15 *file = server.config()->server;
1.16 }
1.17 - else
1.18 - delete pager;
1.19
1.20 return err;
1.21 }
2.1 --- a/opener_resource.cc Sat Mar 20 01:40:39 2021 +0100
2.2 +++ b/opener_resource.cc Mon Mar 22 22:02:54 2021 +0100
2.3 @@ -79,14 +79,17 @@
2.4 {
2.5 OpenerContextResource *resource = new OpenerContextResource(this);
2.6
2.7 - /* Complete the initialisation and start a server in a new thread. */
2.8 + /* Complete the initialisation and start a server in a new thread.
2.9 + If the thread does not start, the resource should be finalised. */
2.10
2.11 ResourceServer server(resource);
2.12 long err = server.start_thread();
2.13
2.14 /* Return the server capability to the caller. */
2.15
2.16 - *context = server.config()->server;
2.17 + if (!err)
2.18 + *context = server.config()->server;
2.19 +
2.20 return err;
2.21 }
2.22