diff --git a/bin/pattyd.8 b/bin/pattyd.8 index e806510..0a458d7 100644 --- a/bin/pattyd.8 +++ b/bin/pattyd.8 @@ -52,9 +52,5 @@ as a KISS interface, and zero or more optional given to specify baud rate or flow control. Valid settings are: .Li 1200 , 9600 , crtscts , xonxoff . .El -.Sh BUGS -The daemon does not support forking at this time. The -.Fl f -flag has no effect until this is implemented. .Sh AUTHORS .An XANTRONIX Development Aq Mt dev@xantronix.com diff --git a/bin/pattyd.c b/bin/pattyd.c index fdeae3d..b8bc06b 100644 --- a/bin/pattyd.c +++ b/bin/pattyd.c @@ -436,6 +436,15 @@ int main(int argc, char **argv) { goto error_config; } + if (!flags[FLAG_FG]) { + if (daemon(1, 0) < 0) { + fprintf(stderr, "%s: %s: %s\n", + argv[0], "daemon()", strerror(errno)); + + goto error_daemon; + } + } + if (patty_daemon_run(ctx.daemon) < 0) { fprintf(stderr, "%s: %s: %s\n", argv[0], "patty_daemon_run()", strerror(errno)); @@ -447,6 +456,7 @@ int main(int argc, char **argv) { return 0; +error_daemon: error_daemon_run: error_config: error_invalid_args: