arla-0.32 glitches (with patches)

David Sanderson david at transarc.ibm.com
Fri Mar 17 00:10:34 CET 2000


There is a problem with the generated *_ExecuteRequest RPC code where if
an unknown opcode comes in, _result contains random garbage as the error
number.

This should make _result deterministic in this case:

----------------------------------------------------------------------
*** ydr/output.c0	Wed Mar  1 18:29:46 2000
--- ydr/output.c	Thu Mar 16 17:44:48 2000
***************
*** 1941,1946 ****
--- 1941,1947 ----
  	 listiter (func_list, gencase, &c);
  	 
  	 fprintf (c_file, "default:\n"
+ 		  "_result = RXGEN_OPCODE;\n"
  		  "fprintf (stderr, \"Ignoring %%d\\n\", opcode);\n"
  		  "}\n"
  		  "return _result;\n"
----------------------------------------------------------------------

and this should (hopefully) let the RXGEN_OPCODE macro be visible when
compiling.  It was at least enough to get the objects in the rxdef/
directory to compile.

----------------------------------------------------------------------
*** rx/rx.h0	Fri Mar  3 03:55:15 2000
--- rx/rx.h	Thu Mar 16 13:41:41 2000
***************
*** 31,36 ****
--- 31,37 ----
  #include "../rx/rx_event.h"
  #include "../rx/rx_queue.h"
  #include "../rx/rx_packet.h"
+ #include "../rx/rxgencon.h"
  #else				       /* KERNEL */
  #ifdef HAVE_CONFIG_H
  #include <config.h>
***************
*** 43,48 ****
--- 44,50 ----
  #include "rx_clock.h"
  #include "rx_event.h"
  #include "rx_pkt.h"
+ #include "rxgencon.h"
  #endif				       /* KERNEL */
  
  
----------------------------------------------------------------------

I also encountered a build problem with arla-0.32 where 'Bool' was
already defined as a macro, leading to a typedef error.  This fixed it
for me.  I saw this problem on Solaris 2.6 but did not take time to
track down where the Bool macro was getting defined.

----------------------------------------------------------------------
*** util/bool.h0	Sun Nov  9 18:48:45 1997
--- util/bool.h	Thu Mar 16 12:25:59 2000
***************
*** 53,59 ****
--- 53,61 ----
  
  #else /* FALSE */
  
+ #ifndef Bool
  typedef int Bool;
+ #endif
  
  #endif
  
----------------------------------------------------------------------

David Sanderson
IBM Transarc Lab
david at transarc.ibm.com





More information about the Arla-drinkers mailing list