X-Git-Url: https://git.ozlabs.org/?a=blobdiff_plain;f=ccan%2Foserver%2Foserver.h;fp=ccan%2Foserver%2Foserver.h;h=06a89b28344776035693136c9652fb110c1abe4d;hb=33b799969447a818cd99749aa937a59c88e4f83f;hp=3342ba83e61850def0eb60109c068b501b2312f8;hpb=5f78385c979ad6eea953587c0ecafa0a914ba3c0;p=ccan-lca-2011.git diff --git a/ccan/oserver/oserver.h b/ccan/oserver/oserver.h index 3342ba8..06a89b2 100644 --- a/ccan/oserver/oserver.h +++ b/ccan/oserver/oserver.h @@ -4,13 +4,12 @@ #include /** - * oserver_setup - set up an oserver + * oserver_restore - restore an oserver from dump * @ev: tevent context to use. - * @port: port to use (usually OSERVER_PORT) - * @dumpfile: file to save state to on SIGHUP (if non-NULL). + * @dumpfile: file to with saved state. * - * Opens a socket and binds it to @port, then sets it up to listen - * for connections. talloc_free() the pointer returned to shut it down + * Tries to restore an oserver from the dump file. Returns NULL on failure. + * talloc_free() the pointer returned to shut it down * (its parent is the tevent_context). * * Example: @@ -18,10 +17,31 @@ * struct tevent_context *ev; * * ev = tevent_context_init(NULL); - * oserver = oserver_setup(ev, OSERVER_PORT, "oserver.dump"); - * if (!oserver) - * err(1, "Failed to set up server"); + * oserver = oserver_restore(ev, "oserver.dump"); + * if (oserver) + * printf("Restored oserver!"); + */ +struct oserver *oserver_restore(struct tevent_context *ev, + const char *dumpfile); + + +/** + * oserver_setup - set up an oserver + * @ev: tevent context to use. + * @port: port to use (usually OSERVER_PORT) + * @dumpfile: file to save state to on SIGHUP (if non-NULL). * + * Opens a socket and binds it to @port, then sets it up to listen + * for connections. talloc_free() the pointer returned to shut it down + * (its parent is the tevent_context). + * + * Example: + * ... + * else { + * oserver = oserver_setup(ev, OSERVER_PORT, "oserver.dump"); + * if (!oserver) + * err(1, "Failed to set up server"); + * } * while (tevent_loop_wait(ev) == 0); * err(1, "Event loop failed"); */