  | 
 dio_fcntl    (PHP 4 >= 4.2.0, PECL) dio_fcntl -- Performs a c library fcntl on fd 说明mixed  dio_fcntl ( resource fd, int cmd [, mixed args] ) 
   The dio_fcntl() function performs the
   operation specified by cmd on the file
   descriptor fd. Some commands require
   additional arguments args to be supplied.
   参数
    - fd
 
       The file descriptor returned by dio_open().
       - cmd
 
       Can be one of the following operations:
        
          F_SETLK - Lock is set or cleared. If the lock
          is held by someone else dio_fcntl() returns
          -1.
          
          F_SETLKW - like F_SETLK,
          but in case the lock is held by someone else, 
          dio_fcntl() waits until the lock is released.
          
          F_GETLK - dio_fcntl() 
          returns an associative array (as described above) if someone else
          prevents lock. If there is no obstruction key "type" will set
          to F_UNLCK.
          
          F_DUPFD - finds the lowest numbered available
          file descriptor greater than or equal to args
          and returns them.
          
          F_SETFL - Sets the file descriptors flags to 
          the value specified by args, which can be
          O_APPEND, O_NONBLOCK or 
          O_ASYNC. To use O_ASYNC 
          you will need to use the PCNTL 
          extension.
           
      - args
 
       args is an associative array, when
       cmd is F_SETLK or
       F_SETLLW, with the following keys:
        
          "start" - offset where lock begins
          
          "length" - size of locked area. zero means to end of file
          
          "wenth" - Where l_start is relative to: can be 
          SEEK_SET,
          SEEK_END and SEEK_CUR
          
          "type" - type of lock: can be F_RDLCK (read
          lock), F_WRLCK (write lock) or 
          F_UNLCK (unlock)
           
      
  
  返回值
   Returns the result of the C call.
   例
    例子 1. Setting and clearing a lock 
<?php
  $fd = dio_open('/dev/ttyS0', O_RDWR);
  if (dio_fcntl($fd, F_SETLK, Array("type"=>F_WRLCK)) == -1) {    // the file descriptor appears locked    echo "The lock can not be cleared. It is held by someone else."; } else {    echo "Lock succesfully set/cleared"; }
  dio_close($fd); ?>
 |  
  |   
  
  |   |