Where is kill_proc_info defined? - linux-device-driver

what is header file for the kernel API function kill_proc_info(int sig, struct siginfo *info, pid_t pid)

You can probably found this in linux/signal.c and include/linux/sched.h

Grep is your friend. Or use one of the cross-references like http://lxr.linux.no or http://www.cs.fsu.edu/~baker/devices/lxr/http/source/.
Ad edit (the original question did not say "API"):
Actually, that function is not an API. It's an implementation detail of signal.c. It is not an API, because there is no EXPORT_SYMBOL[_GPL] declaration for it, so it's not callable from modular code.

[edit]
man won't work - however, man kill_proc_info into your favorite search engine will. note too that posting a page that doesn't render correctly in somebodies browser will also result in a downvote.
[/edit]
man is your friend
[edit]
google is your friend (which is how I found the first answer - in the comments below) but we're not allowed to use that as an answer here. Better to have a repository of lazy people than to request they attempt to use the tools that they are given - IOW, better to give a man a fish than teach him how to fish
[/edit]

Related

Documentation of OCaml code in Eclipse

I'm using Eclipse with the OcaIDE-Plugin to write my ocaml-project.
I have written several ocaml-functions that I want to document (comment, return values and params).
I've created my documentation in the .ml-files like described in this link: http://caml.inria.fr/pub/docs/manual-ocaml/ocamldoc.html
Here is an example of one function:
(** sorting tuples where first element is key *)
let my_comp x y = (*Some code*)
Unfortunately, my comments don't show up, when I press F2 at one of the functions, it only shows the name and the file it is contained.
When writing comments in an mli-file, it works as expected, but i also want to document "private" functions that are not accessible from the outside. Can I define functions in the mli, that are NOT accessible from the outside, just for the documentation?
How can I make Eclipse to show my documention?
Well, as you said, you would like to show the documentation but not export the function out of the module. That, sadly, won't work.
I guess OcaIDE can be considered as incomplete but it doesn't look like it's something people care about (I don't know a single person working on OcaIDE). If you like having autocompletion etc, maybe try to program with emacs and install merlin (look, I found the perfect post for you : here)
As for the suggestion of defining a function in the mli not accessible from the outside, it's completely opposed to why mli files are created, so don't expect that to be possible. ;-)
I hoped I've been able to help you.

grave in the Go Language

After looking around for a while I was able to understand how the json: tags are used in the Go language. However two tags I have come across I'm still lost on, and can't seem to find documentation on it.
Both pertain to a REST api service and the full code can be found here-> code.google.com
What is the root: tag used for
gorest.RestService `root:"/orders-service/" consumes:"application/json" produces:"application/json"`
as well how does the method: tag work?
userDetails gorest.EndPoint `method:"GET" path:"/users/{Id:int}" output:"User"`
I didn't know if anyone had any links to a site or document that might explain this more, from the examples I can learn enough to use it. However, I would really like to fully understand it.
Thanks for your time!
Tags are nothing but strings, they don't have any meaning per-se.
Libraries can use reflection to introspect struct fields and interpret their tags. See reflect.StructTag.
In your case, gorest parses the following tags on Services:
root
consumes
produces
and these on Endpoints:
realm
method
path
output
input
role
postdata
Their meaning is described in gorest's documentation.
These are gorest tags. See gorest wiki http://code.google.com/p/gorest/wiki/GettingStarted

Name and location of snippet for Menu with param in LiftWeb?

Sorry if this sounds stupid but I'm really new to LiftWeb and just struggling with the basic stuff:)
So I have a parametrized site map entry in Lift's bootstrap. This should be for the view page of an object of type MyItem. The URL would be like: "/myitems/UUID".
Menu.param [UUID]("MyItemView", "MyItemView", p=>Full(UUID.fromString(p)), p=>p.toString) / "myitems"
This adds the sitemap entry correctly. If I go to "/myitems/NOT_AN_UUID", it will throw the "Invalid UUID" exception as expected. But if I go to "/myitems/UUID" I get 404.
I know that I need a view and a snippet class that takes UUID as parameter in order for this to work but I have no idea how to name these and where to place them.
Btw, how would one new to Lift learn something like this? From the hundreds of articles and samples out there I found many to mention more complex stuff but haven't seen any to mention a basic thing like this. Do you know any secret start-up documentation for human beings?
Update: To summarize in case all you see above is jibber-jabber :) HOW DOES LIFT LOCATE TEMPLATES/VIEWS/SNIPPETS FOR PARAMETRIZED MENU ENTRIES?
It was actually the obvious answer. The template name is obtained from the path and the snippet can be whatever you want as long as you call it from the template xml.
I need to get used to all this convention over configuration :) However it would be nice for someone to tell you what is the convention.

Detecting the use of private APIs

I'm being rejected on the App Store for using private instance variables in my app. The ivars I am supposedly using are most definitely not being accessed in my code, but I am using one or two static libs from third parties. How would I test whether these could actually be the offenders?
Update:
Apple is accusing me (and 3rd party libs) of using private instance variables in the UITouch class, including
_locationInWindow
_tapCount
_previousLocationInWindow
_timestamp
_touchFlags
_phase
_window
I don't know anything about detecting the problem, but we encountered this problem recently; in our case it was caused by the Three20 library. If you are using it, see http://groups.google.com/group/three20/browse_thread/thread/c442af6e39a918b0/2375e7a158ee9d1b for a discussion/possible solutions.
You can use nm to scan for which library uses the ivar in question.
% nm static_lib.a | grep name_of_ivar
If you get a line, I think with a capital U, with the name of the ivar you probably have a suspect.
I am using one or two static libs
from third parties
Contact the third parties, requesting explanation, they wrote the code, they must know what's in there. They might have a forum or a comments section, where other users might have expressed these concerns already, and you can look for answers and alternatives.
For those who have many third-party libraries, can check your project in such a manner in your project path, for example if you want to find GraphicsService:
$ find . |grep "\\.a" | xargs grep GraphicsService

Windbg: SOS.dll: !gcroot: DOMAIN(xxx):HANDLE(Pinned):Does it really mean object is pinned?

The documentation on the SOS.dll Windbg extension seems sparse. After issuing a !gcroot <address>, I am getting something containing the following:
DOMAIN(XXX):HANDLE(Pinned):XXX:Root:XXX(System.Object[])->
Does "HANDLE(Pinned)" really mean there is a GCHandle of type GCHandleType.Pinned that is rooting this object?
It's probably not pinned, per se, but rather is probably a static reference. Take a look here: http://blogs.msdn.com/dougste/archive/2005/11/25/497016.aspx
Yes it does mean the object is pinned. Now you have to find what is pinning the object and preventing it from being garbage collected.
Yes it does. Another possible value instead of pinned is WeakLn, which means it will be garbage collected on the next sweep.
I know that Karel Zikmund, MSFT Moderator at http://social.msdn.microsoft.com/Forums/en-US/clr/thread/e52936b4-15c4-434f-91b9-4640df66d0c6 says "yes." But I'm looking for extra opinions, insight, etc. Thanks!