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).
This commit is contained in:
parent
0a23b2c303
commit
658b9b9347
2 changed files with 23 additions and 0 deletions
|
@ -1,3 +1,8 @@
|
|||
2010-04-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
|
||||
|
||||
* s/darwin.h (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF)
|
||||
(PTY_OPEN): New defines. Use openpty (Bug#726, Bug#5819).
|
||||
|
||||
2010-04-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
|
||||
|
||||
* frame.h (FRAME_LINE_TO_PIXEL_Y): Add missing parenthesis.
|
||||
|
|
|
@ -90,6 +90,24 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
|
|||
*/
|
||||
|
||||
#define HAVE_PTYS
|
||||
/* Run only once. We need a `for'-loop because the code uses
|
||||
`continue'. */
|
||||
#define PTY_ITERATION for (i = 0; i < 1; i++)
|
||||
#define PTY_NAME_SPRINTF /* none */
|
||||
#define PTY_TTY_NAME_SPRINTF /* none */
|
||||
/* Note that openpty may fork via grantpt on Mac OS X 10.4/Darwin 8.
|
||||
But we don't have to block SIGCHLD because it is blocked in the
|
||||
implementation of grantpt. */
|
||||
#define PTY_OPEN \
|
||||
do \
|
||||
{ \
|
||||
int slave; \
|
||||
if (openpty (&fd, &slave, pty_name, NULL, NULL) == -1) \
|
||||
fd = -1; \
|
||||
else \
|
||||
emacs_close (slave); \
|
||||
} \
|
||||
while (0)
|
||||
|
||||
/**
|
||||
* PTYs only work correctly on Darwin 7 or higher. So make the
|
||||
|
|
Loading…
Add table
Reference in a new issue