Changeset 23001
- Timestamp:
- 01/04/07 12:17:27 (23 months ago)
- Files:
-
- 1 modified
-
trunk/launchd/src/launchd_core_logic.c (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/launchd/src/launchd_core_logic.c
r22999 r23001 307 307 static jobmgr_t job_get_bs(job_t j); 308 308 static void job_uncork_fork(job_t j); 309 static void job_log_stdouterr(job_t j); 309 310 static void job_logv(job_t j, int pri, int err, const char *msg, va_list ap); 310 311 static void job_log(job_t j, int pri, const char *msg, ...) __attribute__((format(printf, 3, 4))); … … 1684 1685 1685 1686 void 1687 job_log_stdouterr(job_t j) 1688 { 1689 char buf[4001]; 1690 ssize_t rsz; 1691 1692 rsz = read(j->log_redirect_fd, buf, sizeof(buf) - 1); 1693 1694 if (rsz == 0) { 1695 job_assumes(j, close(j->log_redirect_fd) != -1); 1696 j->log_redirect_fd = 0; 1697 } else if (job_assumes(j, rsz != -1)) { 1698 buf[rsz] = '\0'; 1699 switch (buf[0]) { 1700 case '\n': 1701 case '\r': 1702 case '\0': 1703 break; 1704 default: 1705 job_log(j, LOG_NOTICE, "Standard Out/Error: %s", buf); 1706 break; 1707 } 1708 } 1709 } 1710 1711 void 1686 1712 job_callback(void *obj, struct kevent *kev) 1687 1713 { … … 1717 1743 case EVFILT_READ: 1718 1744 if (kev->ident == (uintptr_t)j->log_redirect_fd) { 1719 char buf[4001]; 1720 ssize_t rsz; 1721 1722 rsz = read(j->log_redirect_fd, buf, sizeof(buf) - 1); 1723 1724 if (rsz == 0) { 1725 job_assumes(j, close(j->log_redirect_fd) != -1); 1726 j->log_redirect_fd = 0; 1727 } else if (job_assumes(j, rsz != -1)) { 1728 buf[rsz] = '\0'; 1729 switch (buf[0]) { 1730 case '\n': 1731 case '\r': 1732 case '\0': 1733 break; 1734 default: 1735 job_log(j, LOG_NOTICE, "Standard Out/Error: %s", buf); 1736 break; 1737 } 1738 } 1745 job_log_stdouterr(j); 1739 1746 } else { 1740 1747 socketgroup_callback(j, kev);

