Age | Commit message (Collapse) | Author |
|
This function is significantly faster due to not requiring memory
allocations for each directory entry. Now they are instead just
allocated as a large chunk. This function is not compatible with scandir
since the cleanup of both function will be different.
With this a new function scandir_sane_free has also been added.
Besides having a function(like scandir) that forces the programmer to
implement their own cleanup procedure that is anymore complicated than a
simple free() call is absurd.
|
|
Adds support for shebangs (#!) that allow for things such as shell
scripts without appending `sh` before the file.
|
|
|
|
|
|
I appear to have assumed that len would always be the number requested
not the number left to be read. Therefore to get the number of bytes
left ot read I did `len - rc` but the `- rc` was already accounted for
by line 298.
|
|
|
|
Current method is also really bad since it uses multiple copies when it
should instead just copy to the send buffer of the network card
directly. But I have other things that I want to prioritize first.
|
|
|
|
|
|
This will scan for possible overflows in the program. It is a somewhat
expensive operation but really useful for debugging.
|
|
|
|
|
|
|
|
The other inode might already have been freed when close() is called.
|
|
|
|
Apparently getting the current TSC is a expensive operation. This change
had a significant improvements for I/O heavy applications.
|
|
This is not at all optimal for applications that already buffer their
data but can have a huge impact on those that don't. Applications that
don't wish to use this should disable this for their socket.
|
|
The incorrect timer was being used for TCP ACK flush
|
|
Now it appears to be sufficiently good at producing a distinct seed at
each boot without using a /etc/seed file. Previously it did not do this.
Of course this is nowhere near cryptographically secure but randomness
does assist with things such as kmalloc.
|
|
This can speed up boot times since CMOS would otherwise have to wait
before it could perform a read/write call. Now it gets triggered by a
interrupt.
|
|
Also adds sha1sum.c file which I forgot in a previous commit
|
|
This makes use of TSC and now provides a file system interface for
userland programs to change the system time.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
There is no need for these to be seperate. They will probably move to
the same struct soon.
|
|
|
|
|
|
|
|
|
|
Now it avoids waiting for completion if possible and can instead batch
commands.
|
|
|
|
|
|
as if anybody reads this
|
|
This significantly reduces I/O operations on the bitmap when large
writes occur.
|
|
|
|
|
|
|
|
Don't invalidate the cache of a block if written to. Instead the cache
can be changed and then be written to disk. This is optimal for ext2
since it gets to keep the cache and the hard drive since it may not have
to do extra reads when doing writes.
|
|
|
|
Off by one error in block/inode lookup that caused roughly two days of debugging
|
|
|
|
|
|
Turns out unions that include arrays and a integer can have UB due to
endianess not being the same across systems.
|
|
|
|
Kernel printf had bugs and was poorly written. LibC still has some FILE*
releated stuff that should be cleaned up.
|