SOURCES: patch.4.5.20.1 (NEW), patch.4.5.20.2 (NEW) - new

arekm arekm at pld-linux.org
Wed Feb 28 22:37:26 CET 2007


Author: arekm                        Date: Wed Feb 28 21:37:26 2007 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- new

---- Files affected:
SOURCES:
   patch.4.5.20.1 (NONE -> 1.1)  (NEW), patch.4.5.20.2 (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: SOURCES/patch.4.5.20.1
diff -u /dev/null SOURCES/patch.4.5.20.1:1.1
--- /dev/null	Wed Feb 28 22:37:26 2007
+++ SOURCES/patch.4.5.20.1	Wed Feb 28 22:37:21 2007
@@ -0,0 +1,37 @@
+*** sequence/sequence.c.orig	27 Sep 2006 14:56:17 -0000	12.39
+--- sequence/sequence.c	26 Oct 2006 07:36:05 -0000
+***************
+*** 228,233 ****
+--- 228,236 ----
+  	seq->seq_data.ulen = seq->seq_data.size = sizeof(seq->seq_record);
+  	seq->seq_rp = &seq->seq_record;
+  
++ 	if ((ret = __dbt_usercopy(dbenv, keyp)) != 0)
++ 		goto err;
++ 
+  	memset(&seq->seq_key, 0, sizeof(DBT));
+  	if ((ret = __os_malloc(dbenv, keyp->size, &seq->seq_key.data)) != 0)
+  		goto err;
+***************
+*** 365,370 ****
+--- 368,374 ----
+  		ret = t_ret;
+  
+  	ENV_LEAVE(dbenv, ip);
++ 	__dbt_userfree(dbenv, keyp, NULL, NULL);
+  	return (ret);
+  }
+  
+***************
+*** 764,769 ****
+--- 768,777 ----
+  	DBT *key;
+  {
+  	SEQ_ILLEGAL_BEFORE_OPEN(seq, "DB_SEQUENCE->get_key");
++ 
++ 	if (F_ISSET(key, DB_DBT_USERCOPY))
++ 		return (__db_retcopy(seq->seq_dbp->dbenv, key,
++ 		    seq->seq_key.data, seq->seq_key.size, NULL, 0));
+  
+  	key->data = seq->seq_key.data;
+  	key->size = key->ulen = seq->seq_key.size;

================================================================
Index: SOURCES/patch.4.5.20.2
diff -u /dev/null SOURCES/patch.4.5.20.2:1.1
--- /dev/null	Wed Feb 28 22:37:26 2007
+++ SOURCES/patch.4.5.20.2	Wed Feb 28 22:37:21 2007
@@ -0,0 +1,66 @@
+*** rep/rep_method.c.orig	Fri Oct 20 08:34:06 2006
+--- rep/rep_method.c	Fri Oct 27 12:09:04 2006
+***************
+*** 526,535 ****
+  		 * will allow the client to either perform recovery or
+  		 * simply join in.
+  		 */
+! 		if (announce)
+  			(void)__rep_send_message(dbenv,
+  			    DB_EID_BROADCAST, REP_NEWCLIENT, NULL, dbt, 0, 0);
+! 		else
+  			(void)__rep_send_message(dbenv,
+  			    DB_EID_BROADCAST, REP_ALIVE_REQ, NULL, NULL, 0, 0);
+  	}
+--- 526,537 ----
+  		 * will allow the client to either perform recovery or
+  		 * simply join in.
+  		 */
+! 		if (announce) {
+! 			if ((ret = __dbt_usercopy(dbenv, dbt)) != 0)
+! 				goto err;
+  			(void)__rep_send_message(dbenv,
+  			    DB_EID_BROADCAST, REP_NEWCLIENT, NULL, dbt, 0, 0);
+! 		} else
+  			(void)__rep_send_message(dbenv,
+  			    DB_EID_BROADCAST, REP_ALIVE_REQ, NULL, NULL, 0, 0);
+  	}
+***************
+*** 553,558 ****
+--- 555,561 ----
+  	}
+  	if (pending_event != DB_EVENT_NO_SUCH_EVENT)
+  		DB_EVENT(dbenv, pending_event, NULL);
++ 	__dbt_userfree(dbenv, dbt, NULL, NULL);
+  	return (ret);
+  }
+  
+*** rep/rep_record.c.orig	Fri Oct 20 08:34:06 2006
+--- rep/rep_record.c	Mon Nov 13 10:46:29 2006
+***************
+*** 163,168 ****
+--- 163,176 ----
+  		return (EINVAL);
+  	}
+  
++ 	if ((ret = __dbt_usercopy(dbenv, control)) != 0 ||
++  	    (ret = __dbt_usercopy(dbenv, rec)) != 0) {
++  		__dbt_userfree(dbenv, control, rec, NULL);
++  		__db_errx(dbenv,
++  	"DB_ENV->rep_process_message: error retrieving DBT contents");
++  		return ret;
++  	}
++ 
+  	ret = 0;
+  	db_rep = dbenv->rep_handle;
+  	rep = db_rep->region;
+***************
+*** 621,626 ****
+--- 629,635 ----
+  			*ret_lsnp = rp->lsn;
+  		ret = DB_REP_NOTPERM;
+  	}
++ 	__dbt_userfree(dbenv, control, rec, NULL);
+  	return (ret);
+  }
+  
================================================================


More information about the pld-cvs-commit mailing list