com.tapina.robe.swi
Class SharedUnixLibrary

java.lang.Object
  extended bycom.tapina.robe.runtime.Block
      extended bycom.tapina.robe.runtime.DataBlock
          extended bycom.tapina.robe.module.Module
              extended bycom.tapina.robe.swi.SWIHandler
                  extended bycom.tapina.robe.swi.SharedUnixLibrary

public class SharedUnixLibrary
extends SWIHandler

Java implementation of Peter Naulls' module used by UnixLib programs. From: http://www.drobe.co.uk/riscos/artifact1253.html What is SharedUnixLibary? I want to say very little about this, since it's been a huge cause of confusion for no good reason. Its singular, and only purpose, is to catch a callback that RISC OS makes when an application quits. RISC OS helpfully insists on calling this (for a variety of reasons) when the listening application might be paged out, thereby jumping to random code and quickly causing your computer to freeze or crash some unrelated program. This code is therefore in a module and only passes the message onto Unixlib when it is safe to do so. The issue has been fixed in Select/Adjust, but Unixlib has not been modified to avoid this on machines running those versions of RISC OS. NB: This is in no way similar in operation to SharedCLibrary.


Field Summary
 
Fields inherited from class com.tapina.robe.swi.SWIHandler
log, METHOD_PARAMETERS
 
Method Summary
 void DeRegisterUpCall(Environment env)
           
static int getBase()
           
static SharedUnixLibrary getInstance()
           
static java.lang.reflect.Method getMethod(java.lang.Integer offset)
           
 void RegisterUpCall(Environment env)
           
 void SetValueCount(Environment env)
           
 
Methods inherited from class com.tapina.robe.module.Module
getBytes, getHelp, getName, getSize, setSize
 
Methods inherited from class com.tapina.robe.runtime.Block
getAddress, setAddress
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getInstance

public static SharedUnixLibrary getInstance()

getBase

public static int getBase()

getMethod

public static java.lang.reflect.Method getMethod(java.lang.Integer offset)
                                          throws java.lang.NoSuchMethodException
Throws:
java.lang.NoSuchMethodException

RegisterUpCall

public void RegisterUpCall(Environment env)

DeRegisterUpCall

public void DeRegisterUpCall(Environment env)

SetValueCount

public void SetValueCount(Environment env)


Copyright © 2003-2005 . All Rights Reserved.