[eluser]Unknown[/eluser]
This is just for my curiosity, in practice I have something else in place.
Does CodeIgniter have some kind of controller caching? I couldn't come up with something that it might be called to properly look for documentation. Here is the basics of an easy way to duplicate it.
Create a controller/function combo so that isn't your problem.
In the function add something that'll take a couple minutes to complete (for sleep loops work well) and run that function: index.php?/job/run
Now while that is running go edit the function and take out the sleeping looping bits. Open a new tab/window and attempt to run that function: index.php?/job/run
The first process will take the needed time to complete and the second process will ONLY complete after the first one even though it shouldn't take that long. It does seem like the second process is waiting to see if the first process is completed and cached.