1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* ext/pty/pty.c (pty_open): refine the path for master IO.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26790 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
akr 2010-03-01 14:28:04 +00:00
parent f14133782b
commit e1c33162cf
2 changed files with 14 additions and 2 deletions

View file

@ -1,3 +1,7 @@
Mon Mar 1 23:26:56 2010 Tanaka Akira <akr@fsij.org>
* ext/pty/pty.c (pty_open): refine the path for master IO.
Mon Mar 1 20:07:06 2010 TAKANO Mitsuhiro (takano32) <tak@no32.tk>
* ext/zlib/zlib.c (zstream_expand_buffer_into): remove compare different type values warning.

View file

@ -453,7 +453,7 @@ pty_close_pty(VALUE assoc)
* The path name of the terminal device can be gotten by slave_file.path.
*
* PTY.open {|m, s|
* p m #=> #<IO: pty /dev/pts/1>
* p m #=> #<IO:masterpty:/dev/pts/1>
* p s #=> #<File:/dev/pts/1>
* p s.path #=> "/dev/pts/1"
* }
@ -472,6 +472,14 @@ pty_close_pty(VALUE assoc)
* p m.gets #=> "42: 2 3 7\n"
* w.puts "144"
* p m.gets #=> "144: 2 2 2 2 3 3\n"
* w.close
* # The result of read operation when pty slave is closed is platform dependnet.
* ret = begin
* m.gets # FreeBSD returns nil.
* rescue Errno::EIO # GNU/Linux raises EIO.
* nil
* end
* p ret #=> nil
*
*/
static VALUE
@ -489,7 +497,7 @@ pty_open(VALUE klass)
MakeOpenFile(master_io, master_fptr);
master_fptr->mode = FMODE_READWRITE | FMODE_SYNC | FMODE_DUPLEX;
master_fptr->fd = master_fd;
master_fptr->pathv = rb_obj_freeze(rb_sprintf(" pty %s", slavename));
master_fptr->pathv = rb_obj_freeze(rb_sprintf("masterpty:%s", slavename));
slave_file = rb_obj_alloc(rb_cFile);
MakeOpenFile(slave_file, slave_fptr);