ID:2251028
 
BYOND Version:511
Operating System:Windows 10 Home 64-bit
Web Browser:Chrome 51.0.2704.79
Applies to:Dream Seeker
Status: Open

Issue hasn't been assigned a status value.
Descriptive Problem Summary:
Whenever I use call() have have anything that has a timeout, say sleep() or world.Export(), it won't return a value.
Numbered Steps to Reproduce Problem:
Use the script listed below.

Code Snippet (if applicable) to Reproduce Problem:
testing/proc/returnT()
sleep(10)
return 1

mob/verb/T()
var/html = call(new/testing,"returnT")()
src<<html


Expected Results:

The value "1" should be returned.

Actual Results:

Nothing is returned, unless I remove the sleep() procedure.

Does the problem occur:
Every time? Or how often? Everytime.
In other games? Pretty sure.
In other user accounts? Yes.
On other computers? Haven't attempted.

When does the problem NOT occur?
The problem doesn't occur when I don't use world.Export() or sleep()

Did the problem NOT occur in any earlier versions? If so, what was the last version that worked? (Visit http://www.byond.com/download/build to download old versions for testing.)

Workarounds:
Don't use a timeout procedure.
testing/proc/returnT()
sleep(10)
return 1

mob/verb/T()
var/X=new/testing
var/html = call(X,"returnT")()
src<<html

It works like this if you define it outside of the call(). Not sure if it is intended to break the way you used it initially.
In response to Gunbuddy13
Gunbuddy13 wrote:
> testing/proc/returnT()
> sleep(10)
> return 1
>
> mob/verb/T()
> var/X=new/testing
> var/html = call(X,"returnT")()
> src<<html

It works like this if you define it outside of the call(). Not sure if it is intended to break the way you used it initially.

Well that is good to know, I can rewrites some existing code to function with this for now. Thank you.