aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorYAMAMOTO Mitsuharu2010-04-10 19:31:01 +0900
committerYAMAMOTO Mitsuharu2010-04-10 19:31:01 +0900
commit658b9b9347fdb9cdf5763990c22e63a0d617c40e (patch)
tree992a5050647746460b8034641187140915faa0a4 /src
parent0a23b2c3033d8eae52e0861aa5d3a66b628a99b5 (diff)
downloademacs-658b9b9347fdb9cdf5763990c22e63a0d617c40e.tar.gz
emacs-658b9b9347fdb9cdf5763990c22e63a0d617c40e.zip
Use openpty for allocating pty on Darwin. Fix Bug#726 and Bug#5819.
* s/darwin.h (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF) (PTY_OPEN): New defines. Use openpty (Bug#726, Bug#5819).
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog5
-rw-r--r--src/s/darwin.h18
2 files changed, 23 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index b8b04b129ea..b68c58219ec 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
12010-04-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2
3 * s/darwin.h (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF)
4 (PTY_OPEN): New defines. Use openpty (Bug#726, Bug#5819).
5
12010-04-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> 62010-04-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2 7
3 * frame.h (FRAME_LINE_TO_PIXEL_Y): Add missing parenthesis. 8 * frame.h (FRAME_LINE_TO_PIXEL_Y): Add missing parenthesis.
diff --git a/src/s/darwin.h b/src/s/darwin.h
index b9062ec8000..ab7c0717287 100644
--- a/src/s/darwin.h
+++ b/src/s/darwin.h
@@ -90,6 +90,24 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
90 */ 90 */
91 91
92#define HAVE_PTYS 92#define HAVE_PTYS
93/* Run only once. We need a `for'-loop because the code uses
94 `continue'. */
95#define PTY_ITERATION for (i = 0; i < 1; i++)
96#define PTY_NAME_SPRINTF /* none */
97#define PTY_TTY_NAME_SPRINTF /* none */
98/* Note that openpty may fork via grantpt on Mac OS X 10.4/Darwin 8.
99 But we don't have to block SIGCHLD because it is blocked in the
100 implementation of grantpt. */
101#define PTY_OPEN \
102 do \
103 { \
104 int slave; \
105 if (openpty (&fd, &slave, pty_name, NULL, NULL) == -1) \
106 fd = -1; \
107 else \
108 emacs_close (slave); \
109 } \
110 while (0)
93 111
94/** 112/**
95 * PTYs only work correctly on Darwin 7 or higher. So make the 113 * PTYs only work correctly on Darwin 7 or higher. So make the