You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@avro.apache.org by dc...@apache.org on 2012/09/13 23:14:47 UTC

svn commit: r1384534 - in /avro/trunk: CHANGES.txt lang/c/src/avro/schema.h lang/c/src/schema.c

Author: dcreager
Date: Thu Sep 13 21:14:47 2012
New Revision: 1384534

URL: http://svn.apache.org/viewvc?rev=1384534&view=rev
Log:
AVRO-1129. C: Detect when avro_schema_decref frees schema

Modified:
    avro/trunk/CHANGES.txt
    avro/trunk/lang/c/src/avro/schema.h
    avro/trunk/lang/c/src/schema.c

Modified: avro/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/avro/trunk/CHANGES.txt?rev=1384534&r1=1384533&r2=1384534&view=diff
==============================================================================
--- avro/trunk/CHANGES.txt (original)
+++ avro/trunk/CHANGES.txt Thu Sep 13 21:14:47 2012
@@ -25,6 +25,9 @@ Avro 1.7.2 (unreleased)
     AVRO-1138. C: Add function for opening existing data file with non-default
     block size.  (Maxim Pugachev via dcreager)
 
+    AVRO-1129. C: Detect when avro_schema_decref frees schema.
+    (Maxim Pugachev via dcreager)
+
   BUG FIXES
 
     AVRO-1128. Java: Fix SpecificRecordBase#equals() to work for

Modified: avro/trunk/lang/c/src/avro/schema.h
URL: http://svn.apache.org/viewvc/avro/trunk/lang/c/src/avro/schema.h?rev=1384534&r1=1384533&r2=1384534&view=diff
==============================================================================
--- avro/trunk/lang/c/src/avro/schema.h (original)
+++ avro/trunk/lang/c/src/avro/schema.h Thu Sep 13 21:14:47 2012
@@ -108,7 +108,7 @@ avro_schema_t avro_schema_copy(avro_sche
 int avro_schema_equal(avro_schema_t a, avro_schema_t b);
 
 avro_schema_t avro_schema_incref(avro_schema_t schema);
-void avro_schema_decref(avro_schema_t schema);
+int avro_schema_decref(avro_schema_t schema);
 
 int avro_schema_match(avro_schema_t writers_schema,
 		      avro_schema_t readers_schema);

Modified: avro/trunk/lang/c/src/schema.c
URL: http://svn.apache.org/viewvc/avro/trunk/lang/c/src/schema.c?rev=1384534&r1=1384533&r2=1384534&view=diff
==============================================================================
--- avro/trunk/lang/c/src/schema.c (original)
+++ avro/trunk/lang/c/src/schema.c Thu Sep 13 21:14:47 2012
@@ -188,11 +188,14 @@ avro_schema_t avro_schema_incref(avro_sc
 	return schema;
 }
 
-void avro_schema_decref(avro_schema_t schema)
+int
+avro_schema_decref(avro_schema_t schema)
 {
 	if (schema && avro_refcount_dec(&schema->refcount)) {
 		avro_schema_free(schema);
+		return 0;
 	}
+	return 1;
 }
 
 avro_schema_t avro_schema_string(void)