Ejemplo n.º 1
0
static void irix_oplocks_read_fde_handler(struct event_context *ev,
					  struct fd_event *fde,
					  uint16_t flags,
					  void *private_data)
{
	struct irix_oplocks_context *ctx = talloc_get_type(private_data,
					   struct irix_oplocks_context);
	files_struct *fsp;

	fsp = irix_oplock_receive_message(ctx->ctx);
	break_kernel_oplock(fsp->conn->sconn->msg_ctx, fsp);
}
Ejemplo n.º 2
0
static void linux_oplock_signal_handler(struct tevent_context *ev_ctx,
					struct tevent_signal *se,
					int signum, int count,
					void *_info, void *private_data)
{
	siginfo_t *info = (siginfo_t *)_info;
	int fd = info->si_fd;
	files_struct *fsp;

	fsp = file_find_fd(smbd_server_conn, fd);
	if (fsp == NULL) {
		DEBUG(0,("linux_oplock_signal_handler: failed to find fsp for file fd=%d (file was closed ?)\n", fd ));
		return;
	}
	break_kernel_oplock(fsp->conn->sconn->msg_ctx, fsp);
}