You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

48 lines
1.3 KiB

Index: popper/main.c
--- popper/main.c.orig 2003-01-02 03:39:02.000000000 +0100
+++ popper/main.c 2003-09-18 21:13:57.000000000 +0200
@@ -477,6 +477,22 @@
#endif /* not _DEBUG */
+#ifdef PIDFILE
+ /*
+ * Write PID file. -- RSE
+ */
+ {
+ pid_t pid;
+ FILE *fp;
+
+ pid = getpid();
+ if ((fp = fopen(PIDFILE, "w")) == NULL)
+ err_dump(HERE, "Can't write pidfile '%s'", PIDFILE);
+ fprintf(fp, "%ld\n", (long)pid);
+ fclose(fp);
+ }
+#endif
+
/*
* Set up the socket on which we listen
*/
@@ -510,17 +526,9 @@
rslt = bind ( sockfd, (struct sockaddr *) &serv_addr, sizeof(serv_addr) );
if ( rslt < 0 )
{
- if ( errno == EADDRINUSE )
- {
- fprintf ( stderr, "%s:%d in use\n",
- inet_ntoa ( serv_addr.sin_addr ),
- ntohs ( serv_addr.sin_port ) );
- return 1;
- }
- else
- err_dump ( HERE, "Can't bind local address %s:%d",
- inet_ntoa ( serv_addr.sin_addr ),
- ntohs ( serv_addr.sin_port ) );
+ err_dump ( HERE, "Can't bind local address %s:%d",
+ inet_ntoa ( serv_addr.sin_addr ),
+ ntohs ( serv_addr.sin_port ) );
}
TRACE ( trace_file, POP_DEBUG, HERE,