Revision: 23386 http://trac.macosforge.org/projects/launchd/changeset/23386 Author: zarzycki@apple.com Date: 2007-09-13 18:25:49 -0700 (Thu, 13 Sep 2007) Log Message: ----------- <rdar://problem/5480306> Not all sockets are created equal: We need to unlink Unix domain sockets before closing them Modified Paths: -------------- trunk/launchd/src/launchd_core_logic.c Modified: trunk/launchd/src/launchd_core_logic.c =================================================================== --- trunk/launchd/src/launchd_core_logic.c 2007-09-14 00:45:13 UTC (rev 23385) +++ trunk/launchd/src/launchd_core_logic.c 2007-09-14 01:25:49 UTC (rev 23386) @@ -3370,6 +3370,18 @@ unsigned int i; for (i = 0; i < sg->fd_cnt; i++) { +#if 0 + struct sockaddr_storage ss; + struct sockaddr_un *sun = (struct sockaddr_un *)&ss; + socklen_t ss_len = sizeof(ss); + + /* 5480306 */ + if (job_assumes(j, getsockname(sg->fds[i], (struct sockaddr *)&ss, &ss_len) != -1) + && job_assumes(j, ss_len > 0) && (ss.ss_family == AF_UNIX)) { + job_assumes(j, unlink(sun->sun_path) != -1); + /* We might conditionally need to delete a directory here */ + } +#endif job_assumes(j, runtime_close(sg->fds[i]) != -1); }