mirror of
https://github.com/cookiengineer/audacity
synced 2026-04-24 23:13:42 +02:00
Move library tree where it belongs
This commit is contained in:
97
lib-src/libnyquist/nyquist.patch
Normal file
97
lib-src/libnyquist/nyquist.patch
Normal file
@@ -0,0 +1,97 @@
|
||||
Index: nyquist/nyqsrc/sound.c
|
||||
===================================================================
|
||||
RCS file: /cvsroot/audacity/lib-src/libnyquist/nyquist/nyqsrc/sound.c,v
|
||||
retrieving revision 1.4
|
||||
diff -u -r1.4 sound.c
|
||||
--- nyquist/nyqsrc/sound.c 5 Mar 2009 16:34:00 -0000 1.4
|
||||
+++ nyquist/nyqsrc/sound.c 5 Mar 2009 16:55:56 -0000
|
||||
@@ -506,33 +506,39 @@
|
||||
void snd_list_unref(snd_list_type list)
|
||||
{
|
||||
void (*freefunc)();
|
||||
+ snd_list_type next;
|
||||
|
||||
- if (list == NULL || list == zero_snd_list) {
|
||||
- if (list == NULL)
|
||||
+ while (list != zero_snd_list) {
|
||||
+ if (list == NULL) {
|
||||
nyquist_printf("why did snd_list_unref get %p?\n", list);
|
||||
- return;
|
||||
- }
|
||||
- list->refcnt--;
|
||||
-/* nyquist_printf("snd_list_unref "); print_snd_list_type(list); stdputstr("\n"); */
|
||||
- if (list->refcnt == 0) {
|
||||
- if (list->block && list->block != zero_block) {
|
||||
- /* there is a next snd_list */
|
||||
-/* stdputstr("["); */
|
||||
- sample_block_unref(list->block);
|
||||
-/* stdputstr("]"); */
|
||||
- snd_list_unref(list->u.next);
|
||||
+ return;
|
||||
}
|
||||
- else if (list->block == NULL) { /* the next thing is the susp */
|
||||
- /* free suspension structure */
|
||||
- /* nyquist_printf("freeing susp@%p\n", list->u.susp); */
|
||||
- freefunc = list->u.susp->free;
|
||||
- (*freefunc)(list->u.susp);
|
||||
+ next = zero_snd_list;
|
||||
+
|
||||
+ list->refcnt--;
|
||||
+/* nyquist_printf("snd_list_unref "); print_snd_list_type(list); stdputstr("\n"); */
|
||||
+ if (list->refcnt == 0) {
|
||||
+ if (list->block && list->block != zero_block) {
|
||||
+ /* there is a next snd_list */
|
||||
+/* stdputstr("["); */
|
||||
+ sample_block_unref(list->block);
|
||||
+/* stdputstr("]"); */
|
||||
+ next = list->u.next;
|
||||
+ }
|
||||
+ else if (list->block == NULL) { /* the next thing is the susp */
|
||||
+ /* free suspension structure */
|
||||
+ /* nyquist_printf("freeing susp@%p\n", list->u.susp); */
|
||||
+ freefunc = list->u.susp->free;
|
||||
+ (*freefunc)(list->u.susp);
|
||||
+ }
|
||||
+ /* nyquist_printf("freeing snd_list@%p\n", list); */
|
||||
+ //DBY
|
||||
+ if (list == list_watch) printf("freeing watched snd_list %p\n", list);
|
||||
+ //DBY
|
||||
+ ffree_snd_list(list, "snd_list_unref");
|
||||
}
|
||||
- /* nyquist_printf("freeing snd_list@%p\n", list); */
|
||||
- //DBY
|
||||
- if (list == list_watch) printf("freeing watched snd_list %p\n", list);
|
||||
- //DBY
|
||||
- ffree_snd_list(list, "snd_list_unref");
|
||||
+
|
||||
+ list = next;
|
||||
}
|
||||
}
|
||||
|
||||
Index: nyquist/xlisp/xldmem.c
|
||||
===================================================================
|
||||
RCS file: /cvsroot/audacity/lib-src/libnyquist/nyquist/xlisp/xldmem.c,v
|
||||
retrieving revision 1.3
|
||||
diff -u -r1.3 xldmem.c
|
||||
--- nyquist/xlisp/xldmem.c 5 Mar 2009 16:34:00 -0000 1.3
|
||||
+++ nyquist/xlisp/xldmem.c 5 Mar 2009 16:56:12 -0000
|
||||
@@ -299,8 +299,6 @@
|
||||
LOCAL void findmem(void)
|
||||
{
|
||||
gc();
|
||||
- if (nfree < (long)anodes)
|
||||
- addseg();
|
||||
}
|
||||
|
||||
/* gc - garbage collect (only called here and in xlimage.c) */
|
||||
@@ -346,6 +344,10 @@
|
||||
/* count the gc call */
|
||||
++gccalls;
|
||||
|
||||
+ /* add a new segment if still no free nodes */
|
||||
+ if (nfree < (long)anodes)
|
||||
+ addseg();
|
||||
+
|
||||
/* call the *gc-hook* if necessary */
|
||||
if (s_gchook && (fun = getvalue(s_gchook))) {
|
||||
newfp = xlsp;
|
||||
Reference in New Issue
Block a user