summaryrefslogtreecommitdiffstats
path: root/source/l/db44/patch.4.4.20.2
blob: 0231ec7112b773bebaa68db1472039540fcec2a7 (about) (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
*** txn/txn.c.orig	Tue Nov  1 06:50:03 2005
--- txn/txn.c	Tue Jan 31 15:05:13 2006
***************
*** 1049,1060 ****
--- 1049,1062 ----
  		return (ret);
  	memcpy(txn->name, name, len);
  
+ 	TXN_SYSTEM_LOCK(dbenv);
  	if (td->name != INVALID_ROFF) {
  		__db_shalloc_free(
  		    &mgr->reginfo, R_ADDR(&mgr->reginfo, td->name));
  		td->name = INVALID_ROFF;
  	}
  	if ((ret = __db_shalloc(&mgr->reginfo, len, 0, &p)) != 0) {
+ 		TXN_SYSTEM_UNLOCK(dbenv);
  		__db_err(dbenv,
  		    "Unable to allocate memory for transaction name");
  
***************
*** 1063,1068 ****
--- 1065,1071 ----
  
  		return (ret);
  	}
+ 	TXN_SYSTEM_UNLOCK(dbenv);
  	td->name = R_OFFSET(&mgr->reginfo, p);
  	memcpy(p, name, len);