Другой вариант будет:
mockStore.Expect(x => x.Rollback()).Repeat.Never();
Если я не понимаю, о чем вы спрашиваете, PHP flock ()
- это вызов системной функции Unix flock ()
в Gentoo . У них идентичная семантика.
Используете ли вы его на сетевом или подключенном диске? Я не удивлюсь, если вы столкнетесь с тупиком , и некоторые из комментариев в документации говорят об этом.
http://www.opengroup.org/onlinepubs/009695399/functions/fcntl. html
/etc/standard/flock_compat.c [line 66]
ret = fcntl(fd, operation & LOCK_NB ? F_SETLK : F_SETLKW, &flck);
// example: $stream = fopen(FILE, 'rb') or die('???');
$md = stream_get_meta_data($stream);
echo $md['wrapper_type'];
flock($stream);
, если это напечатает plainfile , тогда вызов функции php flock () будет обрабатываться php_stdiop_set_option (...) который вызывает flock (). В зависимости от того, был ли PHP скомпилирован с HAVE_FLOCK или нет, это может быть системный вызов flock () или функция, определенная в flock_compat.c, которая использует fcntl () . В моей системе gentoo PHP был скомпилирован с HAVE_FLOCK.
main / streams / plain_wrapper.c @ static int php_stdiop_set_option (...):
case PHP_STREAM_OPTION_LOCKING: if (fd == -1) { возврат -1; } if ((zend_uintptr_t) ptrparam == PHP_STREAM_LOCK_SUPPORTED) { возврат 0; } if (! flock (fd, value)) { data-> lock_flag = значение; возврат 0; } else { возврат -1; } break;