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