Commit Graph

17882 Commits

Author SHA1 Message Date
Jérôme Duval
7a5fa89446 drop old fsproto.h
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18730 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-01 08:01:38 +00:00
Andrew Galante
7bfdb02ea8 The full TCP state machine should be working now, with the exception of the LISTEN state. It cannot yet transfer data though - that will be implemented next. Connections are only made from port 40000 though, ephemeral ports are not yet implemented.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18729 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-01 02:36:59 +00:00
Ingo Weinhold
6bfd06d1ff BRoster::Launch() eventually launches the application in question
in several steps:
1. early pre-registration with the registrar ("I wanna launch the
   app, make sure noone interferes.")
2. load the app image
3. finish pre-registration with the registrar ("I have launched
   the app, here is its team ID.")
4. start app main thread
5. send "on launch" messages to the app (argv, refs, others)

If the app is already running or being launched, 1. fails with a
conclusive error code and returns the team ID and the pre-registration
token of the app. Steps 2 - 4 are skipped and only the messages are
delivered using the team ID returned by 1.

This change fixes a race condition: The failed early pre-registration
request obviously cannot return the team ID, if the other thread
launching the app has not finished step 3 yet. Thus the argv/refs
message would not get delivered and Launch() would not return the
correct team ID.

Now we wait for the pre-registration to be finished in this case, using
the former _IsAppPreRegistered() mechanism, which already provided
such a waiting feature for one request. It has been extended to
accomodate an arbitrary number of waiting requests and renamed to
_IsAppRegistered().

This fixed bug #763.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18728 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-31 17:54:16 +00:00
Axel Dörfler
a847b384c6 DeviceOpener::Open() now returns the actual error instead of -1, as suggested
by Korli.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18727 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-31 17:26:13 +00:00
Jérôme Duval
7d4d702e05 fix build for R5
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18726 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-31 16:27:29 +00:00
Jérôme Duval
df076a3f69 added B_BAD_DATA (it doesn't exist on R5)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18725 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-31 16:23:09 +00:00
Jérôme Duval
b206bbe1d8 stop the copy when not everything is written
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18724 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-31 12:21:57 +00:00
Niels Sascha Reedijk
915367e31a Wrote the initialisation routine of the host controller
* Started cleaning up the style (WIP)
* I'll slowly phase out ohci_software.h, since it is BSD legacy
* Cleanup other BSD inspired naming. I like full names.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18723 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-31 11:58:27 +00:00
Jérôme Duval
2c9ae83ff9 improve error handling for copy_attributes :
if nothing is read or an error happens on read, continue with next attribute, same for write. 
Also, use actual written byte count for looping.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18722 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-31 10:42:32 +00:00
Jérôme Duval
5ebff2e811 style cleanup
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18721 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-31 09:44:02 +00:00
Axel Dörfler
ffacc65107 Imported the bfs_rename() permission check fix from the Haiku version.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18720 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-30 23:37:57 +00:00
Axel Dörfler
9b906ccf04 * You can now create the block cache in read-only mode (using an additional
parameter during construction).
* Doing so will now result in a kernel panic whenever your file system tries to
  write to a block.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18719 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-30 23:18:31 +00:00
Axel Dörfler
03a2985277 * When releasing a vnode, it tried to trim down the allocation even if the file
system was mounted read-only.
* bfs_rename() did not check the access privileges of the directories involved.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18718 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-30 23:15:52 +00:00
Axel Dörfler
793f542244 Added a comment about the outcome of a potential problem.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18717 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-30 23:12:31 +00:00
Axel Dörfler
c40fe37f0b * Reverted the changes r17693 made to vfs_get_vnode_cache(); instead, vm_create_vnode_cache()
will now grab a reference to the vnode as well if successful. This way, vfs_get_vnode_cache()
  now actually works how it should: it will now always grab a reference to the cache and
  its underlying vnode. This removes an extra reference to the vnode (and vm_cache) that
  got ignored before and prevented volumes to be unmounted (or file caches to be removed).
  Thanks to Korli for pointing this out.
* file_cache_create() is now aware of that extra vnode reference and releases it; unmounting
  volumes is now working again as it should.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18716 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-30 23:09:04 +00:00
Axel Dörfler
96d67014ff Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18715 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-30 23:00:58 +00:00
Axel Dörfler
190aa14f19 * Use user_strlcpy() instead of this scary combination of strnlen() and user_memcpy().
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18714 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-30 22:39:20 +00:00
Michael Lotz
8001b0c614 This subtle error (introduced in r18656) caused bulk pipes to stall.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18713 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-30 21:54:29 +00:00
Michael Lotz
6b0ee87455 Accidently forgot to remove debug output define again.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18712 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-30 19:31:21 +00:00
Michael Lotz
c773d729dc Fixed wrong length of string descriptors.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18711 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-30 18:45:29 +00:00
Michael Lotz
8fedfdfcf8 * Rewrote some stack internals (again). Everything is now created using a parent object that shares the BusManager and Stack information to reduce individual constructors.
* Don't inherit Device and Interface from pipes anymore. The device has a default pipe member now.
* Since the parent of each Object is now known, we can send control messages using the default pipe of the device from all attached elements (pipes and interfaces).
* Fixed the generic {Set|Clear}Feature() and GetStatus() calls to include the endpoint address for pipe specific requests.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18710 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-30 17:59:23 +00:00
Axel Dörfler
1c1c6688d1 Make sure "otherTeam" is -1 when it's not found in the reply.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18709 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-30 16:15:57 +00:00
Axel Dörfler
60e0ea9f7f Bug fix for my last commit: all of a sudden, a text would need more than one
bad character to be accepted.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18708 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-30 11:56:20 +00:00
Jérôme Duval
383b5f4303 fix error exit codes
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18707 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-30 10:06:19 +00:00
Axel Dörfler
86cebbca83 Added the fdinfo app to the image for debugging purposes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18706 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-30 10:04:06 +00:00
Jérôme Duval
15e29cfa03 fix exit codes (1 on error, 0 on success)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18705 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-30 09:46:42 +00:00
Jérôme Duval
2761c5ae55 replaced with PCI.h definitions, added PCI_usb_ehci
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18704 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-30 08:36:53 +00:00
Axel Dörfler
d3669ef900 * Extended the text recognition to UTF-8 characters - if a text contains too many
bad characters, it will be rejected, at least after bug #675 has been fixed.
* In the future, we should use the same mechanism as the TextSnifferAddon of the
  registrar; it would also be nice to use additional charset information (at least
  differentiating between latin-1 and UTF-8).
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18703 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-29 23:24:58 +00:00
Axel Dörfler
e04ec8626e * UTF8ToCharCode() only skipped 3 bytes for a 4 byte character.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18702 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-29 22:20:18 +00:00
Michael Lotz
641309e8d0 Obviously forgot this in the last commit...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18701 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-29 18:27:00 +00:00
Michael Lotz
1bad4a4ef9 * Fixed queue_isochronous in USB3.h to match the actual v3 API.
* Changed the usb module accordingly. Isochronous is all still left ToDo though.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18700 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-29 18:25:34 +00:00
Stephan Aßmus
7fb6186f3c * integration of vector icons with the registrar and the mime data base
* additional versions of SetIcon[ForType] and GetIcon[ForType] in BMimeType
  and BAppFileInfo, which handle flat vector icon data
* changes in Tracker to support scalable icons (currently broken for
non-vector icons and needs cleanup) and drawing icons correctly with alpha
channel (large parts of this work done by Michael Lotz)

If someone feels like looking over the changes, that would be much
appreciated! :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18699 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-29 17:06:23 +00:00
Axel Dörfler
324e3770e6 Fixed build under Dano.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18698 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-29 17:00:09 +00:00
Jérôme Duval
98396cd878 added vm pages functions based on file_cache
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18697 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-29 15:42:16 +00:00
Axel Dörfler
7ee49d9f64 Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18696 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-29 15:04:42 +00:00
François Revol
a6ccb0bef6 Added TODO section. Added (c) Be,Inc. for the sample code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18695 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-29 14:30:50 +00:00
Axel Dörfler
304d592760 Made the keyboard device more resistant against any kind of error:
* Scancodes greater 255 are now handled correctly, and will no longer crash
  the input_server. This fixes bug #830.
* Use new (std:nothrow) instead of a simple new
* Now checks all allocations and appropriately handle failure
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18694 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-29 14:14:45 +00:00
Jérôme Duval
458b6f4b90 fixed warnings
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18693 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-29 13:57:55 +00:00
Jérôme Duval
80e19d62c5 added a grist to differenciate with playway in src/bin/playsound/
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18692 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-29 13:10:20 +00:00
Jérôme Duval
3e4cd38cfc fixed a typo and make sure we have a file cache
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18691 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-29 12:50:25 +00:00
Axel Dörfler
0ab73f2b26 * Fixed warnings.
* Cleanup, separated hook and driver functions from the rest.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18690 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-29 11:44:50 +00:00
Axel Dörfler
e651d817a7 Fixed debug output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18689 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-29 11:06:43 +00:00
Axel Dörfler
022567d3a0 Dumping semaphore info in the kernel debugger will now print the whole queue
of waiting threads by ID (instead of just the queue head and tail pointers).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18688 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-29 11:05:22 +00:00
Axel Dörfler
2bd9d1e3d8 Style cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18687 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-29 10:32:29 +00:00
Stephan Aßmus
0e1ba39f04 * merged Icon-O-Matic from Ingos layout branch into trunk (r18134:18685)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18686 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-29 10:20:40 +00:00
Niels Sascha Reedijk
4ab9bd9778 Fix build on R5. Apparantly HaikuBuildCompatability.h (or something like that) is automatically included, so this define is useless.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18685 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-29 07:30:30 +00:00
Axel Dörfler
be0e738496 * send_signal_etc() now handles a pid_t of -1 specially, but not yet really correct
(that was part of the problem of bug #702).
* Fixed send_signal_etc() when you called it with a pid_t of zero: the signals should
  go to all teams in the calling team's group, not only to the team (for -1, we do
  the same for now).
* Made team_get_process_group_locked() public, and rewrote send_signal_etc() to use
  it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18684 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-29 01:41:16 +00:00
Axel Dörfler
567f38888f kill_thread() and friends are supposed to check the passed in thread_id or else
some signals could go to some group when a negative value was passed in.
This actually fixes bug #702 where SoundPlay obviously does a kill_thread(-1)
at the end (which accidently killed all userspace applications, including the
input_server, app_server, ...).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18683 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-29 01:36:54 +00:00
Andrew Galante
806e2ef627 Three way handshake is now functional. Need to add error conditions and graceful cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18682 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-29 00:52:52 +00:00
Axel Dörfler
e8d442f969 Added libnetapi.so to the build again.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18681 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-29 00:20:25 +00:00