|
|
|
|
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,
|