X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=lib%2Fdaemon.c;h=672568342a76c4bf3d3c8f0d22368c8a4eb352fb;hb=6c4ea27c48b30eaec8e37e642d5072f53c5b2670;hp=8ef5491a7dd321cfb1db98406600318807b50e21;hpb=7d0c5973d5165f3cc6099de326ad0dfc326bac33;p=openvswitch diff --git a/lib/daemon.c b/lib/daemon.c index 8ef5491a..67256834 100644 --- a/lib/daemon.c +++ b/lib/daemon.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2008, 2009, 2010, 2011, 2012 Nicira Networks. + * Copyright (c) 2008, 2009, 2010, 2011, 2012 Nicira, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -245,6 +245,17 @@ daemonize(void) daemonize_complete(); } +/* Forks, then: + * + * - In the parent, waits for the child to signal that it has completed its + * startup sequence. Then stores -1 in '*fdp' and returns the child's pid. + * + * - In the child, stores a fd in '*fdp' and returns 0. The caller should + * pass the fd to fork_notify_startup() after it finishes its startup + * sequence. + * + * If something goes wrong with the fork, logs a critical error and aborts the + * process. */ static pid_t fork_and_wait_for_startup(int *fdp) {