rcosjava-general Mailing List for RCOSjava
Status: Beta
Brought to you by:
newmana
You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(6) |
Nov
(5) |
Dec
(3) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
|
Feb
|
Mar
|
Apr
(3) |
May
(1) |
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
(1) |
Nov
(4) |
Dec
|
2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(2) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <And...@ne...> - 2003-06-29 11:34:42
|
Just a quick note to let people know that I've checked in changes to the kernel which fixes two bugs to do with process scheduling. It had to do with processes moving from running to blocked or ready and some timing issues. This was highlighted with the second Dining Philosophers example (which is a possible solution to it) called roomphiX.c (X being 1-5). I also extended PCode to include a RND (Random) function which helps in these examples (I've modified both the original and the solution to use this). __________________________________________________________________ McAfee VirusScan Online from the Netscape Network. Comprehensive protection for your entire computer. Get your free trial today! http://channels.netscape.com/ns/computing/mcafee/index.jsp?promo=393397 Get AOL Instant Messenger 5.1 free of charge. Download Now! http://aim.aol.com/aimnew/Aim/register.adp?promo=380455 |
From: <And...@ne...> - 2003-06-09 10:59:14
|
I've checked in and tested 5 C programs written by Xingyuan Zhang & Zhenhan Wei demonstrating the "Dining Philospohers". I've also checked in a change to the IPC Manager Animator to show which processes are currently waiting/blocked on the semaphores rather than which processes are just connected to the semaphores. __________________________________________________________________ McAfee VirusScan Online from the Netscape Network. Comprehensive protection for your entire computer. Get your free trial today! http://channels.netscape.com/ns/computing/mcafee/index.jsp?promo=393397 Get AOL Instant Messenger 5.1 free of charge. Download Now! http://aim.aol.com/aimnew/Aim/register.adp?promo=380455 |
From: <And...@ne...> - 2002-11-26 11:23:24
|
>By next week: >* Finish PCB window and cleanup object use, >* Finish Process Scheduler with screen shots, These two are done. >* Finish two more help documents. > Been doing documentation at work so the last thing I've felt like is more. For the next two weeks I'll be working on the Multimedia Animator. __________________________________________________________________ The NEW Netscape 7.0 browser is now available. Upgrade now! http://channels.netscape.com/ns/browsers/download.jsp Get your own FREE, personal Netscape Mail account today at http://webmail.netscape.com/ |
From: <And...@ne...> - 2002-11-17 20:19:08
|
It looks like Danielly Karine has completed a File System animation. The final presentation document: http://www.cin.ufpe.br/~tg/2002-1/dksc.doc Powerpoint slides: http://www.cin.ufpe.br/~dksc/tg/TG.ppt It looks like she implemented an MSDOS based file system. It looks like she had trouble integrating it into RCOSjava. The old RCOSjava look and feel was used too. __________________________________________________________________ The NEW Netscape 7.0 browser is now available. Upgrade now! http://channels.netscape.com/ns/browsers/download.jsp Get your own FREE, personal Netscape Mail account today at http://webmail.netscape.com/ |
From: <And...@ne...> - 2002-11-17 11:51:36
|
I imported the 85349 lectures successfully into the Javahelp system. The content however needed adjustment to suit RCOSjava. I have finished the Process Scheduler text (without pictures). I have posted it to: https://sourceforge.net/docman/?group_id=5762 It highlighted the need for a PCB (Process Control Block) facility. Clicking on a process in the process scheduler it will display the PCB window. This is not quite ready yet, however. It also led to moving away from using primitive objects in message passing and animator objects and moving towards enumerations and the RCOSProcess object. By next week: * Finish PCB window and cleanup object use, * Finish Process Scheduler with screen shots, * Finish two more help documents. __________________________________________________________________ The NEW Netscape 7.0 browser is now available. Upgrade now! http://channels.netscape.com/ns/browsers/download.jsp Get your own FREE, personal Netscape Mail account today at http://webmail.netscape.com/ |
From: <And...@ne...> - 2002-11-10 00:10:10
|
I've checked an update to the IPC manager. On the web site there's another screen shot of it. This brings me to JavaHelp and Multimedia playback and recording. As it was originally designed to be for CQU's 85349 (http://infocom.cqu.edu.au/85349/) I'll be basing most of the help on the study guide and lecture notes there. As to how far I go with this integration it will depend mostly on the time that it takes to create the content. What would be good, but I doubt I will have time to do, is to create message objects so that the Multimedia playback and recording can work with the Help System/study notes. __________________________________________________________________ The NEW Netscape 7.0 browser is now available. Upgrade now! http://channels.netscape.com/ns/browsers/download.jsp Get your own FREE, personal Netscape Mail account today at http://webmail.netscape.com/ |
From: <And...@ne...> - 2002-10-07 12:07:49
|
I've just checked in a fix so that the current version in CVS compiles. I should have some time at the moment to finish of what I've intended. __________________________________________________________________ The NEW Netscape 7.0 browser is now available. Upgrade now! http://channels.netscape.com/ns/browsers/download.jsp Get your own FREE, personal Netscape Mail account today at http://webmail.netscape.com/ |
From: <and...@ne...> - 2002-07-17 11:03:55
|
I plan to end the development of RCOSjava with version 0.5. After version 0.5 I'll still be around but basically my development will stop. I did get an email by someone from Brazil who said they were doing the File System vertical slice (animator and os implementation) but whether that pans out or not I don't know. The rough delivery time will be August. After that, I plan to finish the paper for the messaging system, ensure the Javadoc is up to scratch, and document the C language features. The final feature list for 0.5 includes: * Swing UI, * Add function support to the compiler, * Multimedia recording/playback/save state, * Closing off of current known bugs things like small font size, step removed, etc. * Adding JavaHelp. I'm currently working on the Swing UI. I will announce when each of these stages have been complete on this list and on the web site. What this means is that the following tasks will be outstanding: * Test file system and disk scheduler, * Put the disk scheduler and file syste animation back in, * Replace server support, and * Deployment in a single JAR. __________________________________________________________________ Your favorite stores, helpful shopping tools and great gift ideas. Experience the convenience of buying online with Shop@Netscape! http://shopnow.netscape.com/ Get your own FREE, personal Netscape Mail account today at http://webmail.netscape.com/ |
From: <and...@ne...> - 2002-05-19 12:25:48
|
I've just checked in changes to the compiler that means it compiles examples 3 and 4 (the array examples). I also added extra capabilities like multiply and divide (example8.c). Do-while loops are working (examples7.c). And I fixed some bugs in for loops and binary operations. I'll fix up shared memory to actually use "real" memory (from the memory manager) instead of creating its own memory object. This will be 0.4.1. 0.4.2 will be closing all the current known bugs. __________________________________________________________________ Your favorite stores, helpful shopping tools and great gift ideas. Experience the convenience of buying online with Shop@Netscape! http://shopnow.netscape.com/ Get your own FREE, personal Netscape Mail account today at http://webmail.netscape.com/ |
From: <and...@ne...> - 2002-04-28 14:12:24
|
It's 12am on a school night so I must've been doing something important. RCOSjava 0.4 is here. What's new: * C Compiler with examples (see release notes and bugs), * Shared memory support in OS and Animator, and * Repackaged everything into org.rcosjava and general moving. I'm not sure I've fixed everything up in CVS so that may take a couple of days to get synced with the release. __________________________________________________________________ Your favorite stores, helpful shopping tools and great gift ideas. Experience the convenience of buying online with Shop@Netscape! http://shopnow.netscape.com/ Get your own FREE, personal Netscape Mail account today at http://webmail.netscape.com/ |
From: <and...@ne...> - 2002-04-23 11:40:50
|
This is just a followup on my own posting (what fun!). >RCOSjava now has a C compiler that does stuff. Basically, it does >if-then-else statements, printf, arrays, assignments, and semaphores. The C compiler now does for and while loops, character/number input, shared memory, and has had a number of bugs fixed. I've added more examples of everything that can be done to the compiler directory. The C compiler works for these examples and I'm happy with that for the moment. >* Get the IPC and Animator finished. The IPC and Kernel modifications for shared memory support is now at a functional stage. The example C programs smem.c and smem2.c work fine. The smem program goes around in a couple of for loops writing to a piece of memory while smem2 asks the user for a memory segment and returns the value stored there. The semaphore has its own memory block instead of getting one from the memory manager but apart from that it's all done. The IPC animator will be next, it should be a fairly straightforward copy of the current semaphore functionality. __________________________________________________________________ Your favorite stores, helpful shopping tools and great gift ideas. Experience the convenience of buying online with Shop@Netscape! http://shopnow.netscape.com/ Get your own FREE, personal Netscape Mail account today at http://webmail.netscape.com/ |
From: <and...@ne...> - 2002-04-18 11:31:23
|
RCOSjava now has a C compiler that does stuff. Basically, it does if-then-else statements, printf, arrays, assignments, and semaphores. I've been using Wirth's "Algorithms + Data Structures = Programs" to work out some of the bugs in the original RCOS implementation. I'm not going to wait for the compiler to be a hundred percent complete before I do a release. I'd rather get something out there sooner. Before release: * Reorganise the files (once more) to reflect the domain and put the C, Pascal and compiled versions in a more logical place, * Try and reduce the problems with OS X (because that's what I'm using), * Get the IPC and Animator finished. * May-be get "Step" going again. If none of these seem easy I'll just release what I have within the next week or so. I think what I've done is significent for a release. After that I'll try and get the compiler 100%, File/Disk and saving of state for the Multimedia Tour stuff. If anyone has any code or whatever that they've reviewed or feedback or whatever this is your chance! :-) I'll just keep going until this is done. The number of downloads (about 2-3 a day) is kinda cool to see. __________________________________________________________________ Your favorite stores, helpful shopping tools and great gift ideas. Experience the convenience of buying online with Shop@Netscape! http://shopnow.netscape.com/ Get your own FREE, personal Netscape Mail account today at http://webmail.netscape.com/ |
From: Peggy N. <pe...@ip...> - 2001-12-02 22:42:45
|
Hi Andrew, Doh! I'd forgotten to follow up that AddHandler message to look for an answer. I think I tried to block it out from my mind, being one of the messages I traced through while trying to understand messaging, without any luck. That makes complete sense, to register from the OSMsgHandler constructor. Thanks. Regards, Peggy > I hope I'm following what you want. You're wondering how an OS or > Animator level object registers with their PostOffice. That is, how > does it end up in the registeredHandlers TreeMap and receive messages > to process. > > For example, the Kernel calls super(String, OSOffice). > OSMessageHandler creates a new AddHandler message and calls > processMessage on the OSOffice. AddHandler calls the addHandler > method on PostOffice (which actually is found in > SimpleMessageHandler). This adds the Kernel to registeredHandlers. > > Animators do the same thing except using AnimatorMessageHandler and > AnimatorOffice. > > The stuff that is confusing is the constructor in PostOffice. For > example, type (the class name) is not used by anything but exists > there. -- > > > > > __________________________________________________________________ > Your favorite stores, helpful shopping tools and great gift ideas. > Experience the convenience of buying online with Shop@Netscape! > http://shopnow.netscape.com/ > > Get your own FREE, personal Netscape Mail account today at > http://webmail.netscape.com/ > > > _______________________________________________ > Rcosjava-general mailing list > Rco...@li... > https://lists.sourceforge.net/lists/listinfo/rcosjava-general |
From: <and...@ne...> - 2001-12-02 01:16:45
|
I've just updated PostOffice, AnimatorOffice and OSOffice with the changes. The PostOffice(String) consrtructor nolonger calls addHandler and Animator and OS office both call super(String). What's more, it still works! :-) -- __________________________________________________________________ Your favorite stores, helpful shopping tools and great gift ideas. Experience the convenience of buying online with Shop@Netscape! http://shopnow.netscape.com/ Get your own FREE, personal Netscape Mail account today at http://webmail.netscape.com/ |
From: <and...@ne...> - 2001-12-02 01:08:50
|
>Andrew, > >I don't understand how a post office gets a registeredHandler >without a call to super(id) in OSOffice, which would call >addHandler(). I assume things would happen like this: > >OSOffice osPostOffice = new OSOffice(M_ID); >// calls OSOffice constructor >OSOffice(String newId) >{ > id = newId; >} >// no call to super: compiler inserts super() which calls >PostOffice(){ } >// does nothing!!! so the compiler inserts another super() ending up at >SimpleMessageHandler(){ } >// which also does nothing. > >I see that the OSOffice constructor initialises id, which is a member >of SimpleMessageHandler (supersuperclass). > >I must be barking up the wrong tree but I can't figure this out. > I hope I'm following what you want. You're wondering how an OS or Animator level object registers with their PostOffice. That is, how does it end up in the registeredHandlers TreeMap and receive messages to process. For example, the Kernel calls super(String, OSOffice). OSMessageHandler creates a new AddHandler message and calls processMessage on the OSOffice. AddHandler calls the addHandler method on PostOffice (which actually is found in SimpleMessageHandler). This adds the Kernel to registeredHandlers. Animators do the same thing except using AnimatorMessageHandler and AnimatorOffice. The stuff that is confusing is the constructor in PostOffice. For example, type (the class name) is not used by anything but exists there. -- __________________________________________________________________ Your favorite stores, helpful shopping tools and great gift ideas. Experience the convenience of buying online with Shop@Netscape! http://shopnow.netscape.com/ Get your own FREE, personal Netscape Mail account today at http://webmail.netscape.com/ |
From: Peggy N. <pe...@ip...> - 2001-11-28 05:48:35
|
Andrew, Thanks! I was quite pleased with that effort. I've been tracing through a *lot* of messages. I think it's a clever bit of code. My second email superceded one of my questions, but not the other. I don't understand how a post office gets a registeredHandler without a call to super(id) in OSOffice, which would call addHandler(). I assume things would happen like this: OSOffice osPostOffice = new OSOffice(M_ID); // calls OSOffice constructor OSOffice(String newId) { id = newId; } // no call to super: compiler inserts super() which calls PostOffice(){ } // does nothing!!! so the compiler inserts another super() ending up at SimpleMessageHandler(){ } // which also does nothing. I see that the OSOffice constructor initialises id, which is a member of SimpleMessageHandler (supersuperclass). I must be barking up the wrong tree but I can't figure this out. Sounds like you're having a bummer of a week; I hope things come good. We keep missing out on storms here in Yeppoon so I'm kinda jealous! Peggy >Could you please confirm for me that this is correct? > Hi Peggy. You do indeed seem to have got it. I've only read the last half of your message. I read your first message. Does this second message superseed this one (it seems to at first glance)? I'm half way through going through all the stuff that was stolen. The second time in about 7 weeks or something like that. That and the outside flooded because of the storm. Argh! -- _____________________________________________________ _____________ Your favorite stores, helpful shopping tools and great gift ideas. Experience the convenience of buying online with Shop@Netscape! http://shopnow.netscape.com/ Get your own FREE, personal Netscape Mail account today at http://webmail.netscape.com/ ------- End of forwarded message ------- |
From: Peggy N. <pe...@ip...> - 2001-11-27 06:39:57
|
Hi Andrew, OK, still looking at messaging. Following is my tracing through to find out what happens to messages. I=92m now looking at the ReadBytes message, initialised & sent in the switchProcess() method in the kernel. Here=92s what I think happens (which is similar to most universal messages). Please tell me if I=92m wrong.A ReadBytes object/message is created, called msg, and then sendMessage(msg) is called. Here=92s a list of the methods that ensue: 1. sendMessage(UniversalMessageAdapter adapter) //OSMessageHandler method 2. sendMessage(UniversalMessageAdapter message) //OSOffice method: upcasts message 3. sendMessage(MessageAdapter message) //OSOffice method This last method adds the message to the osPostOffice=92s localMessages & postOfficeMessages queues, to be dealt with when postOffice.deliverMessages() is called. * postOfficeDeliverMessage() loops through the post offices (ie. animator and os), checks if the message is for the post office, and if it is it adds it to that post office=92s localMessage queue. I=92ll leave = that there for the minute. * localDeliverMessage(). Here=92s where I lose it a bit. The iterator is looping through all the registered handlers, which I assume would be all of the objects derived from OSMessageHandler. So the first one would be the Kernel, then InterruptHandler, FileSystemManager etc and so on. synchronized (OSOffice.this.getHandlers()) { while(tmpIter.hasNext()) { OSMessageHandler theDestination =3D (OSMessageHandler) tmpIter.next(); //Send the message to the destination try { Class[] classes =3D {message.getClass().getSuperclass()}; Method method =3D theDestination.getClass().getMethod( "processMessage", classes); Object[] args =3D {message}; method.invoke(theDestination, args); } catch (Exception e) { e.printStackTrace(); } } } Each of these objects is cast to type OSMessageHandler and put in =93theDestination=94. Heading into the try block, the Class object would be UniversalMessageAdapter, which is ReadBytes=92 superclass. The method object would then be OSMessageHandler.processMessage(UniversalMessageAdapter parm). Then, I figure that the invoke call means: call that method on the OSMessageHandler object (which in the first loop is the kernel), passing the message as a parameter. So then, in the OSMessageHandler method processMessage(UniversalMessageAdapter message): Class[] classes =3D {this.getClass()}; Method method =3D message.getClass().getSuperclass().getMethod( "doMessage", classes); Object[] args =3D {this}; method.invoke(message, args); The classes object is OSMessageHandler, the method then is UniversalMessageAdapter.doMessage(OSMessageHandler). UniversalMessageAdapter is an abstract class which has empty doMessage() methods for each OSMessageHandler object. Perhaps the purpose of this class is to implement the methods of the interface, so that each inheriting class doesn=92t have to do all of them? The invoke call here I assume is saying =93call the doMessage method on the ReadBytes object, using this (the kernel OSMessageHandler object) as the argument=94. For most of those OSMessageHandler objects that are looped through, nothing will happen because there are no methods that match the argument, until it gets to the MemoryManager, and ding ding, the doMessage method will accept it as a parameter. Am I on the right track here? Excuse my stilted explanation of things. So, you=92ve worked it here so that if somebody wanted to send a message to get something done, they would have to do this: 1. Create a class which embodies the message=92s functionality. Data members should include the objects which are to be affected? 2. Since inheritance will determine where the message will be delivered, the class should extend base classes depending on where the message is to go. Messages for: operating system only =3D> extends OSMessageAdapter everywhere =3D> extends UniversalMessageAdapter animator only =3D> extends AnimatorMessageAdapter 3. The class should contain doMessage() methods, with the MessageHandler object that you want to perform a task being the argument to the method. In all the message objects, this parameter is called theElement and access to that MessageHandler object=92s instance methods and data members will be available, access specifier permitting. Could you please confirm for me that this is correct? Thanks, Peggy |
From: Peggy N. <pe...@ip...> - 2001-11-26 05:46:18
|
Hi Andrew, A couple of questions: I'm looking at the ProcessSwitch message here, but that shouldn't be important. Universal messages: the postOffice deals with universal messages by adding them to both the postOfficeMessage queue and the localMessage queue. For the osPostOffice then, is it the case that it would recieve universal messages sent from OS components twice? First of all localSendMessage() is called from the original sendMessage() method, and then localSendMessage() is called again from postOfficeDeliverMessage() (when we're delivering messages out to everybody/thing). I don't see how this would be a problem, I'm just curious. Also, is there any reason why the OSOffice doesn't have a call to super()? Or, more to the point, super(newId)? Do you think the default does the job adequately? I can't quite see how the post offices get registered without it. Thanks, Peggy. |
From: Peggy N. <pe...@ip...> - 2001-11-07 02:03:43
|
Hi Andrew, I had problems installing, mostly to do with getting Ant installed and working: I found its documentation a little difficult to understand, and guess that maybe other students might do as well. The Ant docs say that you need to have a JASP compliant XML parser installed and available on the classpath, and I wasn't sure if I needed to do something about this (I didn't but it held me up for a while). I'm running Win98SE. Between the path, classpath, ant_home and java_home environment variables, I got an "Out of environment space" error: windows had only allocated 256 bytes to MSDOS. I changed this by adding to config.sys SHELL=C:\WINDOWS\COMMAND.COM /P /E:1024 Also, this message comes up on firing the soma server, but doesn't appear to be problematic: <color><param>0100,0100,0100</param><FontFamily><param>Courier New</param>C:\JAVA\RCOS.java\bin>java -jar ..\lib\soma.jar Aunt Floyd Soma HTTP Server listening on port 80 Server Name: AuntFloyd-Soma/0.80 Now accepting connections Unrecoverable Error: java.net.BindException : Address in use: JVM_Bind<FontFamily><param>Times New Roman</param><bigger> <FontFamily><param>Courier New</param><smaller>C:\JAVA\RCOS.java\bin> This doesn't worry you at all? Regards Peggy</color><FontFamily><param>Comic Sans MS</param> <color><param>0100,0100,0100</param>On 4 Nov 2001, at 20:21, Andrew Newman wrote: <color><param>7F00,0000,0000</param>> I'm soliciting any feedback that I can get from you people. If it's > just "this thing just doesn't work" I'd like to have more constructive > feedback if I can. If the installation is still too difficult or > whatever the problem may-be. > > If we can lock down some of the problems that you might be having I'll > do my best to look at and fix them up as quick as possible. Try and > get them in the next release if possible. I'm amazed that there's > still quite a lot of people downloading it and viewing the web pages > even though there's been nothing new in the last couple of months. > > I'm back from holidays. So I'll be spending the next week or so > getting the compiler and shared memory working. That should make > things nice and useful and probably uncover more bugs in the system. > :-) > > > __________________________________________________________________ > Your favorite stores, helpful shopping tools and great gift ideas. > Experience the convenience of buying online with Shop@Netscape! > http://shopnow.netscape.com/ > > Get your own FREE, personal Netscape Mail account today at > http://webmail.netscape.com/ > > > _______________________________________________ > Rcosjava-general mailing list > Rco...@li... > https://lists.sourceforge.net/lists/listinfo/rcosjava-general <nofill> |
From: <And...@ne...> - 2001-11-05 01:21:40
|
I'm soliciting any feedback that I can get from you people. If it's just "this thing just doesn't work" I'd like to have more constructive feedback if I can. If the installation is still too difficult or whatever the problem may-be. If we can lock down some of the problems that you might be having I'll do my best to look at and fix them up as quick as possible. Try and get them in the next release if possible. I'm amazed that there's still quite a lot of people downloading it and viewing the web pages even though there's been nothing new in the last couple of months. I'm back from holidays. So I'll be spending the next week or so getting the compiler and shared memory working. That should make things nice and useful and probably uncover more bugs in the system. :-) __________________________________________________________________ Your favorite stores, helpful shopping tools and great gift ideas. Experience the convenience of buying online with Shop@Netscape! http://shopnow.netscape.com/ Get your own FREE, personal Netscape Mail account today at http://webmail.netscape.com/ |
From: <And...@ne...> - 2001-10-18 23:55:39
|
A couple of years ago I read about Jalapeno. It was a research project by IBM to implement the Java Virtual Machine in Java. Well they've finally released. Exciting news. It has a boot strap which allows it to run without a second JVM. Very cool. http://www-124.ibm.com/developerworks/oss/jikesrvm/?n-o-10181 __________________________________________________________________ Your favorite stores, helpful shopping tools and great gift ideas. Experience the convenience of buying online with Shop@Netscape! http://shopnow.netscape.com/ Get your own FREE, personal Netscape Mail account today at http://webmail.netscape.com/ |
From: <And...@ne...> - 2001-10-17 20:11:54
|
I've been working hard on the compiler to get it ready by tomorrow. Unfortunately, it's just not ready yet so a release will have to wait until November. __________________________________________________________________ Your favorite stores, helpful shopping tools and great gift ideas. Experience the convenience of buying online with Shop@Netscape! http://shopnow.netscape.com/ Get your own FREE, personal Netscape Mail account today at http://webmail.netscape.com/ |
From: <And...@ne...> - 2001-10-11 13:01:57
|
"Peggy Newman" <pe...@ip...> wrote: >> It goes init(), start(), run(), and stop(). init() does the basic >> initialisation. start() calls startThread() (from >> setupAnimatorLayouts()). > >umm, isn't startThread() called from init()? Not that I think it makes >a lot of difference, by the looks of it both init() and start() are >called again when the page/applet is "refreshed". > You're right. The current CVS version has got startThread() at the end of init(). In my haste I didn't check this. As I'm trying to get stepping of instructions working again I've moved this around a bit in my local copy. As you said it doesn't really matter because viewing, reloading, back/forward the applet page calls init(), start(), stop() and destroy(). Some progress has been made over the last 5 years. :-) >> If startThread() is not called by start() >> then the running variable is always false. So when it gets to run() >> the thread waits and is never notified. > >In what cases would this happen? > Never. Sorry this caused confusion. The only reason this would happen is if it was commented out in the source code. I was just trying to clarify my answer your question about the usefulness of startThread() being called. >Possibly stupid question: >Are the methods isRunning() and startThread() in the applet >accessible (or indeed accessed) from other classes? > They are accessible but they aren't used at the moment. In previous versions (depending how far back you go) this was used by ProgramManager. In some future version this might be accessed by ProgramManager or possibly the Kernel. __________________________________________________________________ Your favorite stores, helpful shopping tools and great gift ideas. Experience the convenience of buying online with Shop@Netscape! http://shopnow.netscape.com/ Get your own FREE, personal Netscape Mail account today at http://webmail.netscape.com/ |
From: Peggy N. <pe...@ip...> - 2001-10-10 23:23:15
|
Hi Andrew thanks. just a couple of questions.... > It goes init(), start(), run(), and stop(). init() does the basic > initialisation. start() calls startThread() (from > setupAnimatorLayouts()). umm, isn't startThread() called from init()? Not that I think it makes a lot of difference, by the looks of it both init() and start() are called again when the page/applet is "refreshed". > If startThread() is not called by start() > then the running variable is always false. So when it gets to run() > the thread waits and is never notified. In what cases would this happen? Possibly stupid question: Are the methods isRunning() and startThread() in the applet accessible (or indeed accessed) from other classes? thanks, Peggy When startThread() is called > by the ProgramManager (from another thread) then it's notified and > keeps running. So if you comment out that call, go to "Program > Manager" and hit "Run" and it will work! > > It was also done for minimize/maximize/entering/leaving/reloading > pages. This was done for largely historic reasons. When RCOS.java > was a 1.1 applet sitting in IE 3/4 and Netscape 3/4 the > init/start/stop/destroy calls were called at different times for > different browser versions. > > If you want information about it check out: > http://support.microsoft.com/support/kb/articles/Q227/2/10.ASP > http://developer.netscape.com/support/faqs/champions/java.html > > In the end, you're probably wondering why I did it this way. Me too. > I don't think this is the best way but I hate threads and it does work > okay but it needs improvement (see below). > > >Q. This 'running' variable - deemed volatile - I understand this to > >mean that it might be changed from an external source ie another > >thread. To compliment my other questions - when does 'running' become > >false, aside from its initialisation? > > > > This is just following Sun's documentation about "Why Thread.stop, > Thread.suspend and Runtime.runFinalizersOnExit is deprecated". > > http://java.sun.com/products/jdk/1.2/docs/guide/misc/threadPrimitiveDe > precation.html > > It's to "ensure prompt communication of the stop-request, the > variable must be volatile (or access to the variable must be > synchronized)." The startThread() method is synchronized but > the isRunning() is not. > > In previous version there was this method: > > public synchronized void stepThread() > { > running = false; > notify(); > } > > This was part of the implementation to step through an instruction at > a time. The bug for this is here: > > http://sourceforge.net/tracker/index.php?func=detail&aid=452014&group_ > id=5762&atid=105762 > > > > >Also, I see that the kernelThread loops around for its existence, > >calling performInstructionExecutionCycle(). Why does the thread then > >sleep? > > > > This is just to allow other threads to run. The animator thread gets > pretty starved when the sleep is removed. > > > __________________________________________________________________ > Your favorite stores, helpful shopping tools and great gift ideas. > Experience the convenience of buying online with Shop@Netscape! > http://shopnow.netscape.com/ > > Get your own FREE, personal Netscape Mail account today at > http://webmail.netscape.com/ > > > _______________________________________________ > Rcosjava-general mailing list > Rco...@li... > https://lists.sourceforge.net/lists/listinfo/rcosjava-general |
From: <And...@ne...> - 2001-10-08 21:32:13
|
I've been doing a little work in recent weeks. I am going on holidays in less than two weeks time. Sometime before that I hope to release RCOSjava with a compiler and shared memory support. When I come back I should have the time to finish it off (by December too I hope). I've added two new feature requests: deployment in one jar and replace server support. The first is having a single jar for all of the components of RCOSjava to be deployed. This should allow running RCOS by just using "java -jar RCOSjava.jar Command". Where the commands will be something like "server" or "compiler". The second is to get rid of the hacked up server side component and replace it with a just a web server. This is so you can use the user name/password and other features found in web servers (even Java ones). I have no plan for a release date for these. __________________________________________________________________ Your favorite stores, helpful shopping tools and great gift ideas. Experience the convenience of buying online with Shop@Netscape! http://shopnow.netscape.com/ Get your own FREE, personal Netscape Mail account today at http://webmail.netscape.com/ |