From 7f0f4a829b4ec0c5917f3d5e7b7f2af88149b138 Mon Sep 17 00:00:00 2001 From: "Neal H. Walfield" Date: Tue, 2 Apr 2002 02:06:59 +0000 Subject: 2002-04-01 Neal H Walfield * data-request.c (_pager_seqnos_memory_object_data_request): Must hold P->interlock when calling _pager_allow_termination. --- libpager/data-request.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) (limited to 'libpager') diff --git a/libpager/data-request.c b/libpager/data-request.c index 95ec6d27..82d9b552 100644 --- a/libpager/data-request.c +++ b/libpager/data-request.c @@ -1,5 +1,5 @@ /* Implementation of memory_object_data_request for pager library - Copyright (C) 1994, 1995, 1996, 1997, 2000 Free Software Foundation + Copyright (C) 1994,95,96,97,2000,02 Free Software Foundation This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as @@ -130,17 +130,13 @@ _pager_seqnos_memory_object_data_request (mach_port_t object, ports_port_deref (p); return 0; - allow_term_out: - mutex_lock (&p->interlock); - _pager_allow_termination (p); - mutex_unlock (&p->interlock); - ports_port_deref (p); - return 0; - error_read: memory_object_data_error (p->memobjcntl, offset, length, EIO); _pager_mark_object_error (p, offset, length, EIO); + allow_term_out: + mutex_lock (&p->interlock); _pager_allow_termination (p); + mutex_unlock (&p->interlock); ports_port_deref (p); return 0; -- cgit v1.2.3