Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 29 for writeBlock (0.19 sec)

  1. src/os/file_mutex_plan9.go

    func (file *file) readUnlock() {
    	if file.fdmu.ReadUnlock() {
    		file.destroy()
    	}
    }
    
    // writeLock adds a reference to the file and locks it for writing.
    // It returns an error if the file is already closed.
    func (file *file) writeLock() error {
    	if !file.fdmu.WriteLock() {
    		return ErrClosed
    	}
    	return nil
    }
    
    // writeUnlock removes a reference from the file and unlocks it for writing.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Sat Oct 08 03:57:40 UTC 2022
    - 1.8K bytes
    - Viewed (0)
  2. src/internal/poll/sendfile_linux.go

    func SendFile(dstFD *FD, src int, remain int64) (written int64, err error, handled bool) {
    	defer func() {
    		TestHookDidSendFile(dstFD, src, written, err, handled)
    	}()
    	if err := dstFD.writeLock(); err != nil {
    		return 0, err, false
    	}
    	defer dstFD.writeUnlock()
    
    	if err := dstFD.pd.prepareWrite(dstFD.isFile); err != nil {
    		return 0, err, false
    	}
    
    	dst := dstFD.Sysfd
    	for remain > 0 {
    		n := maxSendfileSize
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Apr 26 18:12:56 UTC 2024
    - 1.4K bytes
    - Viewed (0)
  3. src/internal/poll/file_plan9.go

    func (fdmu *FDMutex) ReadLock() bool {
    	return fdmu.fdmu.rwlock(true)
    }
    
    func (fdmu *FDMutex) ReadUnlock() bool {
    	return fdmu.fdmu.rwunlock(true)
    }
    
    func (fdmu *FDMutex) WriteLock() bool {
    	return fdmu.fdmu.rwlock(false)
    }
    
    func (fdmu *FDMutex) WriteUnlock() bool {
    	return fdmu.fdmu.rwunlock(false)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Sat Oct 08 03:57:40 UTC 2022
    - 972 bytes
    - Viewed (0)
  4. src/internal/poll/sendfile_solaris.go

    func SendFile(dstFD *FD, src int, pos, remain int64) (written int64, err error, handled bool) {
    	defer func() {
    		TestHookDidSendFile(dstFD, src, written, err, handled)
    	}()
    	if err := dstFD.writeLock(); err != nil {
    		return 0, err, false
    	}
    	defer dstFD.writeUnlock()
    
    	if err := dstFD.pd.prepareWrite(dstFD.isFile); err != nil {
    		return 0, err, false
    	}
    
    	dst := dstFD.Sysfd
    	for remain > 0 {
    		n := maxSendfileSize
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Apr 26 18:12:56 UTC 2024
    - 1.8K bytes
    - Viewed (0)
  5. src/internal/poll/sendfile_bsd.go

    func SendFile(dstFD *FD, src int, pos, remain int64) (written int64, err error, handled bool) {
    	defer func() {
    		TestHookDidSendFile(dstFD, src, written, err, handled)
    	}()
    	if err := dstFD.writeLock(); err != nil {
    		return 0, err, false
    	}
    	defer dstFD.writeUnlock()
    
    	if err := dstFD.pd.prepareWrite(dstFD.isFile); err != nil {
    		return 0, err, false
    	}
    
    	dst := dstFD.Sysfd
    	for remain > 0 {
    		n := maxSendfileSize
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Apr 26 18:12:56 UTC 2024
    - 1.5K bytes
    - Viewed (0)
  6. src/internal/poll/writev.go

    //go:build unix
    
    package poll
    
    import (
    	"io"
    	"runtime"
    	"syscall"
    )
    
    // Writev wraps the writev system call.
    func (fd *FD) Writev(v *[][]byte) (int64, error) {
    	if err := fd.writeLock(); err != nil {
    		return 0, err
    	}
    	defer fd.writeUnlock()
    	if err := fd.pd.prepareWrite(fd.isFile); err != nil {
    		return 0, err
    	}
    
    	var iovecs []syscall.Iovec
    	if fd.iovecs != nil {
    		iovecs = *fd.iovecs
    	}
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Mar 27 18:23:49 UTC 2024
    - 1.8K bytes
    - Viewed (0)
  7. src/internal/poll/fd_mutex.go

    	if fd.fdmu.rwunlock(true) {
    		fd.destroy()
    	}
    }
    
    // writeLock adds a reference to fd and locks fd for writing.
    // It returns an error when fd cannot be used for writing.
    func (fd *FD) writeLock() error {
    	if !fd.fdmu.rwlock(false) {
    		return errClosing(fd.isFile)
    	}
    	return nil
    }
    
    // writeUnlock removes a reference from fd and unlocks fd for writing.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Jun 20 16:55:30 UTC 2018
    - 6.4K bytes
    - Viewed (0)
  8. src/internal/poll/sendfile_windows.go

    		return 0, syscall.ESPIPE
    	}
    	if ft, _ := syscall.GetFileType(src); ft == syscall.FILE_TYPE_PIPE {
    		return 0, syscall.ESPIPE
    	}
    
    	if err := fd.writeLock(); err != nil {
    		return 0, err
    	}
    	defer fd.writeUnlock()
    
    	o := &fd.wop
    	o.handle = src
    
    	// TODO(brainman): skip calling syscall.Seek if OS allows it
    	curpos, err := syscall.Seek(o.handle, 0, io.SeekCurrent)
    	if err != nil {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Apr 26 18:12:56 UTC 2024
    - 2.2K bytes
    - Viewed (0)
  9. src/internal/poll/copy_file_range_linux.go

    	// locks for both file descriptors (and why this whole machinery is
    	// in the internal/poll package to begin with).
    	if err := dst.writeLock(); err != nil {
    		return 0, err
    	}
    	defer dst.writeUnlock()
    	if err := src.readLock(); err != nil {
    		return 0, err
    	}
    	defer src.readUnlock()
    	var n int
    	for {
    		n, err = unix.CopyFileRange(src.Sysfd, nil, dst.Sysfd, nil, max, 0)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Apr 04 17:40:10 UTC 2024
    - 3.9K bytes
    - Viewed (0)
  10. src/internal/poll/fd_plan9.go

    		err = ErrDeadlineExceeded
    	}
    	return n, err
    }
    
    // Write implements io.Writer.
    func (fd *FD) Write(fn func([]byte) (int, error), b []byte) (int, error) {
    	if err := fd.writeLock(); err != nil {
    		return 0, err
    	}
    	defer fd.writeUnlock()
    	fd.wmu.Lock()
    	if fd.wtimedout {
    		fd.wmu.Unlock()
    		return 0, ErrDeadlineExceeded
    	}
    	fd.waio = newAsyncIO(fn, b)
    	fd.wmu.Unlock()
    	n, err := fd.waio.Wait()
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon May 06 14:00:54 UTC 2024
    - 5.4K bytes
    - Viewed (0)
Back to top