369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
|
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
|
-
-
-
-
-
-
+
-
-
-
|
cloexec(pty->master_fd);
pty->name[FILENAME_MAX-1] = '\0';
strncpy(pty->name, ptsname(pty->master_fd), FILENAME_MAX-1);
#endif
{
/*
* Set the pty master into non-blocking mode.
*/
int fl;
fl = fcntl(pty->master_fd, F_GETFL);
nonblock(pty->master_fd);
if (fl != -1 && !(fl & O_NONBLOCK))
fcntl(pty->master_fd, F_SETFL, fl | O_NONBLOCK);
}
if (!ptys_by_fd)
ptys_by_fd = newtree234(pty_compare_by_fd);
add234(ptys_by_fd, pty);
}
/*
|