[PD-cvs] externals/iem/pdoctave pdoctave_dataframe.c, 1.2, 1.3 pdoctave_get.c, 1.3, 1.4 write_shared_mem.cc, 1.3, 1.4
Franz Zotter
fzotter at users.sourceforge.net
Sun Mar 26 14:47:05 CEST 2006
Update of /cvsroot/pure-data/externals/iem/pdoctave
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18364
Modified Files:
pdoctave_dataframe.c pdoctave_get.c write_shared_mem.cc
Log Message:
added octave error handling 'try' and 'catch' to pdoctave_get. So unknown variables are returned now as empty
Index: pdoctave_get.c
===================================================================
RCS file: /cvsroot/pure-data/externals/iem/pdoctave/pdoctave_get.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** pdoctave_get.c 25 Mar 2006 13:14:59 -0000 1.3
--- pdoctave_get.c 26 Mar 2006 12:47:03 -0000 1.4
***************
*** 51,56 ****
char *cmd;
cmd = pdoctget_obj->oct_command;
! strcpy(cmd, "write_shared_mem(");
! cmd += 17;
strcpy(cmd, pdoctget_obj->oct_name);
cmd += strlen (cmd);
--- 51,56 ----
char *cmd;
cmd = pdoctget_obj->oct_command;
! strcpy(cmd, "try\n write_shared_mem(");
! cmd += strlen(cmd);
strcpy(cmd, pdoctget_obj->oct_name);
cmd += strlen (cmd);
***************
*** 58,62 ****
sprintf(cmd, "%d", getSharedDataFrameId(pdoctget_obj->sdf));
cmd += strlen(cmd);
! strcpy (cmd, ")\n");
writeToOctaveStdIN (pdoctget_obj->oct_command);
--- 58,69 ----
sprintf(cmd, "%d", getSharedDataFrameId(pdoctget_obj->sdf));
cmd += strlen(cmd);
! strcpy (cmd, ");\n catch\n disp(\"undefined variable\"); write_shared_mem(");
! cmd += strlen(cmd);
! strcpy (cmd, "[],");
! cmd +=strlen(cmd);
! sprintf(cmd, "%d", getSharedDataFrameId(pdoctget_obj->sdf));
! cmd +=strlen(cmd);
! strcpy (cmd,");\n end\n\0");
! post("pdoctave_get: %s",pdoctget_obj->oct_command);
writeToOctaveStdIN (pdoctget_obj->oct_command);
Index: pdoctave_dataframe.c
===================================================================
RCS file: /cvsroot/pure-data/externals/iem/pdoctave/pdoctave_dataframe.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** pdoctave_dataframe.c 25 Mar 2006 13:14:59 -0000 1.2
--- pdoctave_dataframe.c 26 Mar 2006 12:47:03 -0000 1.3
***************
*** 208,212 ****
int sleepUntilReadUnBlocked (SharedDataFrame *sdf)
{
! alarm(MAX_SLEEP_TIME);
while ((sdf->block_for_read!=0)&&scheduling_ok)
sched_yield();
--- 208,212 ----
int sleepUntilReadUnBlocked (SharedDataFrame *sdf)
{
! //alarm(MAX_SLEEP_TIME);
while ((sdf->block_for_read!=0)&&scheduling_ok)
sched_yield();
***************
*** 216,220 ****
int sleepUntilReadBlocked (SharedDataFrame *sdf)
{
! alarm(MAX_SLEEP_TIME);
while ((sdf->block_for_read==0)&&scheduling_ok)
sched_yield();
--- 216,220 ----
int sleepUntilReadBlocked (SharedDataFrame *sdf)
{
! //alarm(MAX_SLEEP_TIME);
while ((sdf->block_for_read==0)&&scheduling_ok)
sched_yield();
***************
*** 224,228 ****
int sleepUntilWriteUnBlocked (SharedDataFrame *sdf)
{
! alarm(MAX_SLEEP_TIME);
while ((sdf->block_for_write!=0)&&scheduling_ok)
sched_yield();
--- 224,228 ----
int sleepUntilWriteUnBlocked (SharedDataFrame *sdf)
{
! //alarm(MAX_SLEEP_TIME);
while ((sdf->block_for_write!=0)&&scheduling_ok)
sched_yield();
***************
*** 231,235 ****
int sleepUntilWriteBlocked (SharedDataFrame *sdf)
{
! alarm(MAX_SLEEP_TIME);
while ((sdf->block_for_write==0)&&scheduling_ok)
sched_yield();
--- 231,235 ----
int sleepUntilWriteBlocked (SharedDataFrame *sdf)
{
! //alarm(MAX_SLEEP_TIME);
while ((sdf->block_for_write==0)&&scheduling_ok)
sched_yield();
Index: write_shared_mem.cc
===================================================================
RCS file: /cvsroot/pure-data/externals/iem/pdoctave/write_shared_mem.cc,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** write_shared_mem.cc 25 Mar 2006 13:14:59 -0000 1.3
--- write_shared_mem.cc 26 Mar 2006 12:47:03 -0000 1.4
***************
*** 68,71 ****
--- 68,73 ----
if (args(0).is_empty()) {
pdtype = UNKNOWN;
+ unBlockForWriting (sdf);
+ freeSharedDataFrame (&sdf);
return octave_value();
}
More information about the Pd-cvs
mailing list